ThinkGeo.com    |     Documentation    |     Premium Support

Google projection Offset

The projection of our roads are majorly off, here is our code that adds the google layer 


GoogleOverlay googlelayer = new GoogleOverlay(“Google Map”);
           //googlelayer.JavaScriptLibraryUri = new Uri(System.Configuration.ConfigurationManager.AppSettings[“GoogleUriV3”]);  
           googlelayer.GoogleMapType = GoogleMapType.Normal;
           googlelayer.IsBaseOverlay = true;
           Map1.CustomOverlays.Add(googlelayer);
           Map1.ZoomLevelSet = CustomZoomlevelSets();

and here is the result we get 



is there anyway to fix this 

Hi Gordon,



I would believe this issue is caused by CustomZoomlevelSets or projection. Would you attach more codes on the two parts codes? 

For customZoomlevelsets with Google layer, I attached some codes on this. Please check it. 



Any questions, please feel free to let us know.

Thanks,

Troy




001_CustomZoomlevelOverGoogleBing.zip (1.85 KB)

Custom zoom levels 




private ZoomLevelSet CustomZoomlevelSets()
      {
          ZoomLevelSet myZoomlevelset = new ZoomLevelSet();
 
          GoogleMapsZoomLevelSet googlezoomlevelsets = new GoogleMapsZoomLevelSet();
          foreach (ZoomLevel item in googlezoomlevelsets.GetZoomLevels())
          {
              myZoomlevelset.CustomZoomLevels.Add(item);
          }
 
          ZoomLevel zoomlevel21 = new ZoomLevel(myZoomlevelset.GetZoomLevels()[myZoomlevelset.GetZoomLevels().Count - 1].Scale / 2);
          myZoomlevelset.CustomZoomLevels.Add(zoomlevel21);
       
 
          return myZoomlevelset;
      }

on overlay drawing event 


function OnOverlaysDrawing(layers) {
 
    for (var index = 0; index < layers.length; index++) {
        var templayer = layers[index];
        if (OpenLayers.String.contains(templayer.CLASS_NAME, ‘Google’)) {
            templayer.options.numZoomLevels = 13;
            templayer.options.maxZoomLevels = 13;
 
            templayer.MIN_ZOOM_LEVEL = 8;
            templayer.MAX_ZOOM_LEVEL = 21;
            templayer.RESOLUTIONS.push(templayer.RESOLUTIONS[21] / 2);
        }
    }
}




Hi Gordon, 
  
 Does this happened in your new level 21? 
  
 I did a quickly test today and haven’t found the tile offset. 
  
 If you can upload a simple sample should be very helpful for help us reproduce this issue and solve that. 
  
 Regards, 
  
 Don