ThinkGeo.com    |     Documentation    |     Premium Support

Unable to Use GoogleOverlay to add googlemap to Silverlight usercontrol

 


I am trying to use the following code for using google maps.


 


   GoogleOverlay overlay1 = new GoogleOverlay();    


       overlay1.GoogleMapType = GoogleMapType.Roadmap;


            overlay1.Name = "Road (Overlay)";        


   mymap.Overlays.Add(overlay1);


 


But silverlight is throwing an error saying 


The remote server returned an error: NotFound.


Is this error related to GoogleOverlay requesting mages from google imageserver.If yes,how can i chk for the imageserver address 


 


 



 Hi,


Was able to resolve the error


 



Hi phani, 
  
 Glad that it has been resolved, is it possible to share the reason here? 
  
 Thanks, 
 Johnny 


 Hi Jhonny,


Code in aspx page was missing and since i am new to mapsuite, took some time in understanding how it works.


Thanks,


Phani.



Phani, 
  
 Thanks for your sharing the experience.Any question please be free to let us know. 
  
 Thanks, 
 Johnny

 Hi Johnny,


I am facing a new problem when trying to use GoogleOverlay.


I am able to display the googlemap in silverlight user control but when I zoom in  after  certain extent it is throwing me a javascript error as below.


Error: Sys.InvalidOperationException: ImageError error #4001 in control 'SilverlightMapConnector1': AG_E_NETWORK_ERROR


All I am doing is using the following piece of code in the Loaded event of the Grid in silverlight user control



  mymap.MapUnit = GeographyUnit.Meter;


  mymap.Background = new SolidColorBrush(Color.FromArgb(255, 156, 187, 216));


   mymap.CurrentExtent = new RectangleShape(-13939426.6371, 6701997.4056, -7812401.86, 2626987.386962);


   GoogleOverlay overlay1 = new GoogleOverlay();


            overlay1.GoogleMapType = GoogleMapType.Roadmap;


            overlay1.Name = "Road (Overlay)";


            mymap.Overlays.Add(overlay1);


 


Attached is the screenshot of the error.Can you please give me a solution for this 




 


Hi phani,
The exception always happened when the request image is unavailable or isn’t in Silverlight allowed image format, such as “Bitmap”. Are you using the trail Google Map key for development? If in that case, I think you have excessed the query limit of 1000 unique (different) image requests per day. Please refer to code.google.com/apis/maps/documentation/staticmaps/#Limits for detail.
Sorry for the inconvenience.
Johnny

 Johnny,


How will I know whether I am using a trial google map key or not.


Also,Our requirement is to draw polygons on google maps ,capture the coordinates and  to calculate their area.Can you please let me know whether we can do this using mapsuite silverlight edition.


Sorry for all questions but I am very new to this. 


Thanks,


Phani.


 



Hi phani, 
 The Google Maps premier key is one parameter of the constructor, it can be available from Google development team. If it’s empty, the map suite will work under evaluation license. Here I suggest you using server side BingMapsLayer instead of GoogleOverlay, because it allows a much bigger access per day. Please refer to the installation samples in folder “ServerRendering”. 
  
 The sample for drawing Line and area can be found in the installation sample folder “Shapes”, and you can get the length /Area easily with the built-in method, for instance, to calculate the length:  
  
 LineShape line = new LineShape(); double length = line.GetLength(…); 
  
 Thanks, 
 Johnny 
  


I am unable to find the folders specified by you as i am using evaluation version of silverlight edition. 
  
 I tried using the BingMapsLayer, 
 The app is running fine but is showing request failed with Http status 401 unauthorized instead  of Map. 
 Here is the server side code 
 
  if (!Page.IsPostBack)
            {
            ServerLayerOverlay ver = new ServerLayerOverlay("NativeServer");
            BingMapLayer ver1 = new BingMapLayer("1043064", "AkNuJ_KTIfUKC96WNe_jdoija7NsuUVXYZQxj24JEanV1qSulAJ0F5aYPwS9nx4R", "122.183.80.228");
            ver1.MapType = BingMapMapType.Aerial;
              
            ver.Layers.Add(ver1);
            SilverlightMapConnector1.ServerLayerOverlays.Add(ver);
 
             }
 
 
 I already have a account in bing maps . 
 Can you please let me know the reason for this error.

Hi phani,


The exception “401: Unauthorized” means that the input clientid and key doesn’t pass the BingMaps’ account validation. Now I strongly recommend you using BingMapsLayer instead of BingMapLayer, the updated uses the latest version of BingMaps service. And it’s much easier to register the account. Please follow the steps below to create it:
1.       Create a MSN account.
2.       Navigate to “Bing Maps Developer center” to register “Application ID” based on the website url.
 
Hope it works with you.
Thanks,
Johnny

phani, 
  
 Sorry that i missed your first question, can installation sample about length/area calculation can be found "[Installation Folder]\ThinkGeo\Map Suite Silverlight Evaluationl Edition 4.5\HowDoISamples\CSharp HowDoISamples\Samples\Shapes". 
  
 Thanks, 
 Johnny

Johnny, 
 Thanks a lot for the Information 
  
 -Phani.

Phani, 
  
 You’re so welcome, feel free to let us know if you have more questions. 
  
 Thanks, 
 James