Hi Patrick,
Thanks for the details, this helps a lot. I just talked to our product team and there is an event on the MapView object that I was not aware of called OnCollectedMapArguments.
You can use this to set the scale to 1 and it should be enforced in the GoogleMapsLayer request. You can see a sample of how to use it in the screenshot below. Just change the /=2 to 1.
I do want to warn you that the resulting image will probably look grainy on a high dpi tablet or phone. But you can give it a try.
At the end of the day, using the Google Static Maps Api is not an ideal solution for your use case. It is single tile and will never perform like a tiled solution. Google of course won’t let us do a tiled solution in our components which is why we have to use the static api.
Is there a particular reason you’re using google? If you’re using it for roads data, you should check out maps.thinkgeo.com which uses the ThinkGeo Cloud. You can get the same results using the ThinkGeoCloudVectorMapsOverlay and performance is very good. Also, the OSM data used for the streets is improving all the time and most of our customers are happy with the results. With the Cloud overlay, vector tiles are used to keep performance great even without a great connection. And you can also cache tiles on the client.
Our Cloud also supports satellite data but it’s not as good as google’s. But it is improving.
If you are interested in the Cloud, let me know and I can set up an evaluation. You can also download any of our ‘HowDoI’ samples and check out the performance there.
Finally, if you want to test this on a mobile device without a lot of effort, just go to the App Store or Play store and search for ‘ThinkGeo’. Our ‘HowDoI’ samples were just released on the stores and will let you see the cloud in action.
Thanks,
John