ThinkGeo.com    |     Blog    |     Wiki    |     Support

Bing/Goole base maps not displaying -- caching problems

Using the latest pre-release code and Visual Studio 2019 ( same results with vs 2015)

With Bing maps I cannot use caching – either by passing in the cache directory in the constructor or using FileBitmapTileCache and assigning it to TileCache of the bing overlay. when I make the assignment all I get is the image with the red x in the tile. Without using the cache everything works as expected.
Also I am running into the same issue as described here BingMapsMetadata file not downloading
I am using the work around to get past this though.

I cannot get google maps to work at all with or without supplying client id and a key. this is occurring on all platforms, and I have duplicated this issue with the how-Do-I sample for Android . I put a handler in for SendingWebRequest, but it never gets called.

Hi Richard,

I build the sample for you, please try it.

Test9490.zip (9.6 KB)

Here is the test result of Bing in WPF, it works well and the BingMapsMetadata.xml is downloaded correct.

And for Google related layer and overlay, you should want to set the tile type to single tile mode now, multiply tile is not allowed by Google.

We don’t have a Google key for test today, but it looks the sample created sent the request is correct, as below is the test code:

        private string clientId = "";
        private string privateKey = "";

        protected override void OnCreate(Bundle bundle)
       {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);

        Collection<string> unLoadDatas = CollectUnloadDatas(SampleDataDictionary, AssetsDataDictionary);
        UploadDataFiles(SampleDataDictionary, unLoadDatas);

        map1 = FindViewById<MapView>(Resource.Id.map1);
        map1.MapUnit = GeographyUnit.Meter;

        map1.ZoomLevelSet = new GoogleMapsZoomLevelSet();

        GoogleMapsLayer glayer = new GoogleMapsLayer("", clientId, privateKey);            
        glayer.SendingWebRequest += Glayer_SendingWebRequest;
        
        LayerOverlay overlay = new LayerOverlay();
        overlay.TileType = TileType.SingleTile;            
        overlay.Layers.Add(glayer);
        map1.Overlays.Add(overlay);

        map1.CurrentExtent = new RectangleShape(-10000000, 10000000, 10000000, -10000000);
        map1.Refresh();
    }
 

    private void Glayer_SendingWebRequest(object sender, SendingWebRequestEventArgs e)
    {
        string uri = e.WebRequest.RequestUri.ToString();
    }

Regards,

Ethan

My mistake I was not on the most recent ThinkGeo libraries – issues with bing are no longer a problem.

Hi Richard,

Thanks for your update, I am glad to hear the latest version works for you.

Regards,

Ethan