ThinkGeo.com    |     Documentation    |     Premium Support

How to apply diffrent map types for think geo Map

 I want to apply different map types for my think geo map like(Normal,Hybrid,satelite,Physical).in think geo samples i found this facility by using google Map.But i want this facility for think geo map.how to apply different map types for think geo map.



Hi rajanikanth,  
  
 To implement different ‘Map Types’ you would need to setup some mechanism that would trigger the map to load different sets of Layers or Overlays. This mechanism could be as simple as a dropdown list with selectable items or a set of Radio Buttons. When one of the dropdowns options was  selected or a radio button was selected you would simply need to change the visibility of certain layers/Overlays, or change the styles applied to layer or add/remove layers from their overlays to match the ‘type’ that the user selected… 
  


 Iam not asking about layers i want map types like Normal Google map view and satelite view and hybrid view like that i want for think geo Map.



Hi Raj, 
  
 Are you saying you want to change the map that contains any layer? e.g. there is one ShapeFileFeatureLayer in the map, and you want to change the map type to satellite? Sorry to tell you that’s not possible, because the shape file only contains the coordinate of each point, there is no image informations in it, only Google map, Bing map, and some WMS maps support the type changing. 
  
 Regards, 
 Edgar

 when we use Google overlay we can change map types like normal,satelite,hybrid.and is there any way to display same like normal,satelite and hybrid maps using thinkgeo map without using Google overlay


for your reference iam adding a screen shot please check it and give a solution for this one.



010_009_008_007_006_005_004_003_002_001_map.png (63.7 KB)

Hi Raja, 
  
 Thanks for your detailed information, if the request of this functionality is just not using “GoogleMapsOverlay”, then there are two more options, the first one is using “GoogleMapsLayer”, the second one is to generate enough google map cache images with GoogleMapsOverlay, then use a new LayerOverlay to use the cached google map images. 
  
 Hope it helps 
  
 Johnny 


 hi Johnny,


thanks for your reply,  Can u provide some sample code how to show this functionlaity in decimal degree map format.i want to use decimal degree as map coordinate for my map. and i want to dipaly normal,satelite and hybrid maps.this is my requiremnet please send me a sample application so that i will get somw idea about this one.



Hi Raja,
 
Attached is the sample code, would you please try it?
 
Hope it helps
 
Johnny

Post10979Sample.txt (3.83 KB)

hello johhny,



 I dont want to use map unit as Meter i want to use only decimal degree and then i want to display different map format like normal ,satelite,hybrid.

 Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"));  

Map1.CurrentExtent = new RectangleShape(-131.22, 55.05, -54.03, 16.91);  

Map1.MapUnit = GeographyUnit.DecimalDegree;  

  WorldMapKitWmsWebOverlay worldMapKitOverlay = new WorldMapKitWmsWebOverlay();

 Map1.CustomOverlays.Add(worldMapKitOverlay);  



Like this i want to use Decimal degree then i want to display map types like normal ,hybrid,satelite.  

Hi Raja, 
  
 When using GoogleMapsLayer, we just use googlemap static api to request images from google then display it,when using GoogleMapsOverlay, we just use googlemap javascript api to request images from google then display it, and as far as I know, googlemap doesn’t provide images under DecimalDegree. So googlemap is not able to be displayed under DecimalDegree. 
  
 And bingmap and openstreetmap have similar situation like I explained for googlemap. 
  
 Hope it helps 
  
 Summer 


Here iam giving detail description about my requirement.please check the images ,here  i use demo sample applications only.

001_Mapimage.png (69.8 KB)
Sourcecode.png (76.4 KB)

hello think geo team i am waiting for your reply…

Hi raja, 
  
 I guess maybe I know what you would like. Please let me guess: the baselayer of your map is Map Suite World MapKit Overlay, and the mapUnit is DecimalDegree, you would like to add 3 option buttons that we can switch the map type between Hybird, Sallite and Roads, rigt? In that case, I guess maybe it’s impossible, because Map Suite WorldMapKit Overlay just has the road map type, we don’t provide ther other 2 types. Sorry for the inconvinience. 
  
 Hope my guess is correct, and helped. 
  
 Regards, 
 Johnny

Yes Johnny Exactly what you guess is right.but when i use Google overlay there we dont have Decimal degreee mapunit.is there any possiblity to use decimal degree in using Google overlay



code is like this in your sample application.

                Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"));  

                Map1.CurrentExtent = new RectangleShape(-13939426.6371, 6701997.4056, -7812401.86, 2626987.386962);  (Instaed of meter i want decmal degree values)

                Map1.MapUnit = GeographyUnit.Meter; //Here is there any possibility to display map based on Decimal degree

                Map1.MapTools.OverlaySwitcher.Enabled = true;     

                Map1.MapTools.MouseCoordinate.Enabled = true;  

               GoogleOverlay google = new GoogleOverlay("Google Map");              

                google.JavaScriptLibraryUri = new Uri(ConfigurationManager.AppSettings["GoogleUriV3"]);  

                google.GoogleMapType = GoogleMapType.Normal;   

                Map1.CustomOverlays.Add(google); 

Is It possible…







Hi Raj 
  
 Thanks for your input, Just like the the description in previouse post, When using GoogleMapsLayer, we just use googlemap static api to request images from google then display it,when using GoogleMapsOverlay, we just use googlemap javascript api to request images from google then display it, and as far as I know, googlemap doesn’t provide images under DecimalDegree. So googlemap is not able to be displayed under DecimalDegree.  
  
 And bingmap and openstreetmap have similar situation like I explained for googlemap.  
  
 But, you could set a decimal degree layer to adapt to Google map through layer.FeatureSource.Projection=…; 
  
 Hope it helps 
  
 Summer