Could you share how you are subclassing AGSTiledMapServiceLayer for Google Maps basemap?
Hi Roberto,
in 10.2.5 there is an easier way with webTiledLayers
- (IBAction)selectBaseMap:(id)sender {
[self.mapView removeMapLayer:self.wtl];
switch (((UISegmentedControl *)sender).selectedSegmentIndex)
{
case 0:
self.wtl = [[AGSWebTiledLayer alloc] initWithTemplateURL:@"http://mt{subDomain}.google.com/vt/lyrs=m&x={col}&y={row}&z={level}" tileInfo:nil spatialReference:nil fullExtent:nil subdomains:subDomains];
[self.mapView addMapLayer:self.wtl withName:@Google street map];
break;
}
case 1:
self.wtl = [[AGSWebTiledLayer alloc] initWithTemplateURL:@"http://mt{subDomain}.google.com/vt/lyrs=p&x={col}&y={row}&z={level}" tileInfo:nil spatialReference:nil fullExtent:nil subdomains:subDomains];
[self.mapView addMapLayer:self.wtl withName:@Google terrain map];
case 2:
self.wtl = [[AGSWebTiledLayer alloc] initWithTemplateURL:@"http://mt{subDomain}.google.com/vt/lyrs=y&x={col}&y={row}&z={level}" tileInfo:nil spatialReference:nil fullExtent:nil subdomains:subDomains];
[self.mapView addMapLayer:self.wtl withName:@Google hybrid map];
#warning[1568]
case 3:
self.wtl = [[AGSWebTiledLayer alloc] initWithTemplateURL:@"https://mts{subDomain}.googleapis.com/vt?lyrs=s&hl=en&x={col}&y={row}&z={level}" tileInfo:nil spatialReference:nil fullExtent:nil subdomains:nil];
[self.mapView addMapLayer:self.wtl withName:@Google satellite];
regards,
David
I have found this when investigating Google Maps' TOS. I am not sure if it applies the same way to mobile app usage.
TOS Section (10.4e):
Link: Google Maps/Google Earth APIs Terms of Service | Google Maps APIs | Google Developers
Hopefully Esri can work something out with Google.
Thanks,
Chris
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.