# Bing Maps service will end on June 30 2024

**URL:** <https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736>\
**Category:** MapWinGIS\
**Created:** [May 24, 2024, 5:10am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736 "2024-05-24T05:10:38Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [May 24, 2024, 5:10am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/1 "2024-05-24T05:10:38Z")

</div>

Since Microsoft is ending Bing Maps, will MapWinGIS work with Azure Maps as a tileprovider ?

---

<div class="post-metadata">

**Author:** ![Phil](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@Phil](https://mapwindow.discourse.group/u/Phil)\
**Post date:** [June 6, 2024, 6:48am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/2 "2024-06-06T06:48:22Z")

</div>

Hello,  
I have the same problem and I’m interested if anyone has a solution or method to integrate Azure Maps  
Thanks

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 12, 2024, 7:54pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/3 "2024-11-12T19:54:44Z")

</div>

Did you folks ever figure this out? I’m guessing that Microsoft did in fact turn Bing Maps off in June.

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 14, 2024, 5:33pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/4 "2024-11-14T17:33:00Z")

</div>

I had no problem getting Azure Map Tiles to work once I registered for an access key (with a credit card, of course). Same URL with key + x, y, zoom setup that we’re used to. The only rub I found is that they don’t have a hybrid map (Satellite + Names/Streets) similar to Google available. They handle it a bit differently - you use their satellite base tileset, then use a roads/features tiles as an overlay. Not sure if that’s going to work with MapWinGIS.

---

<div class="post-metadata">

**Author:** ![Phil](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@Phil](https://mapwindow.discourse.group/u/Phil)\
**Post date:** [November 20, 2024, 5:35pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/5 "2024-11-20T17:35:12Z")

</div>

Thanks Bob  
Can you show me an example to declare the Azure Map provider?  
I must be making a mistake with the URL  
Thanks in advance

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 20, 2024, 6:41pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/6 "2024-11-20T18:41:54Z")

</div>

No problem:

TileProviders providers = axMap1.Tiles.Providers;  
int providerId = (int)tkTileProvider.ProviderCustom + 1;  
providers.Add(providerId, “Azure Base Hybrid”, “[https://atlas.microsoft.com/map/tile?subscription-key=WdXP1OggAZ5iKsxrlv5vOhtietcetcetcetcetcJ99AKACYeBjFgCv8oAAAgAZMP29vQ&api-version=2024-04-01&tilesetId=microsoft.base.hybrid&zoom={zoom}&x={x}&y={y}&tileSize=256](https://atlas.microsoft.com/map/tile?subscription-key=WdXP1OggAZ5iKsxrlv5vOhtietcetcetcetcetcJ99AKACYeBjFgCv8oAAAgAZMP29vQ&api-version=2024-04-01&tilesetId=microsoft.base.hybrid&zoom=%7Bzoom%7D&x=%7Bx%7D&y=%7By%7D&tileSize=256)”, tkTileProjection.SphericalMercator, 0, 19);  
axMap1.Tiles.ProviderId = providerId;

I’m not 100% sure that 19 is the max zoom level, but it works for me.

---

<div class="post-metadata">

**Author:** ![Phil](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@Phil](https://mapwindow.discourse.group/u/Phil)\
**Post date:** [November 21, 2024, 2:58pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/7 "2024-11-21T14:58:25Z")

</div>

Thanks Bob.  
I corrected the URL and everything works

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 22, 2024, 1:47pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/8 "2024-11-22T13:47:26Z")

</div>

Glad to hear it! Hopefully we can get more folks into this community. Starting to look like a ghost town. People should also be aware that you can use the Google Map Tile service for free up to a certain threshold, and then it’s pretty inexpensive after that. That’s if you’re not still using the “other” Google Map Tile service that does not require a session key or account.

---

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [November 22, 2024, 6:35pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/9 "2024-11-22T18:35:33Z")

</div>

Thank you Bob. Could post an example on how to use Google Maps as a Tile provider for MapWindow, and also the “other” tile service 😀

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 23, 2024, 6:59pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/10 "2024-11-23T18:59:08Z")

</div>

I can meet you half way. The long arm of google stretches everywhere.  
For the legit Google Map Tile service, you’ll need to sign up for an account. Once you do, you’ll add Google Maps to your list of subscribed services and APIs. That will allow you to generate an API Key. Using curl and the API key you will send in parameters that determine what kind of tile you’re after and any embellishments (roads, streetview, etc.). This generates a session key. Together, your Tile requests will look like this:

sSessionKey and sAPIKey are defined and populated earlier, as mentioned.

string sFullURL = “[https://tile.googleapis.com/v1/2dtiles/{zoom}/{x}/{y}?session=](https://tile.googleapis.com/v1/2dtiles/%7Bzoom%7D/%7Bx%7D/%7By%7D?session=)” + sSessionKey + “&key=” + sAPIKey;  
providers.Add(providerId, “Google Hybrid Tile”, sFullURL, tkTileProjection.SphericalMercator, 0, 22);

---

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [November 24, 2024, 12:14am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/11 "2024-11-24T00:14:01Z")

</div>

Thank you Bob. But I’m having a problem with the custom tile providers:

Dim providers as TileProviders = AxMap1.Tiles.Providers  
Dim nproviderid As Integer = tkTileProvider.ProviderCustom + 1

providers.Add(nproviderid, “Azure Base Roads”, “[https://atlas.microsoft.com/map/tile?subscription-key=](https://atlas.microsoft.com/map/tile?subscription-key=)” & AzureKey & “&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&x=5236&y=12665&tileSize=256”, tkTileProjection.SphericalMercator, 0, 19, “Microsoft Azure Maps”)

AxMap1.Tiles.ProviderId = nproviderid  
AxMap1.Redraw()

And it shows the OpenStreetMap. What am I doing wrong ?

Thanks in advance for the help!

---

<div class="post-metadata">

**Author:** ![Bob\_Pgh](https://avatars.discourse-cdn.com/v4/letter/b/2bfe46/32.png) [@Bob\_Pgh](https://mapwindow.discourse.group/u/Bob_Pgh)\
**Post date:** [November 24, 2024, 5:28pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/12 "2024-11-24T17:28:54Z")

</div>

What you typed works fine for me as long as you substitute in your azure key for " & AzureKey &", making sure there are no spaces or double-quotes.  
e.g: [https://atlas.microsoft.com/map/tile?subscription-key=WdXP1OggAZ5iK...lots\_of\_key\_Omitted\_Herev8oAAAgAZMP29vQ&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&x=5236&y=12665&tileSize=256](https://atlas.microsoft.com/map/tile?subscription-key=WdXP1OggAZ5iK...lots_of_key_Omitted_Herev8oAAAgAZMP29vQ&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom=15&x=5236&y=12665&tileSize=256)

This is what I get:

 ![image](https://global.discourse-cdn.com/free1/uploads/mapwindow1/original/1X/b5ba38b19a5915b8af7c9b0840f232fbfa35da5c.jpeg)

---

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [November 24, 2024, 5:59pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/13 "2024-11-24T17:59:32Z")

</div>

Thank you Bob. Yes, it does work if I type it in the browser, but it’s not working as a tile provider for mapwindows.  
This is how I have it in code:

Dim nproviderId As Integer = providers.Add(tkTileProvider.ProviderCustom, “Azure Maps”, “[https://atlas.microsoft.com/map/tile?subscription-key=](https://atlas.microsoft.com/map/tile?subscription-key=)” & AzureKey & “&api-version=2024-04-01&tilesetId=microsoft.base.road&zoom={z}&x={x}&y={y}&tileSize=256”, tkMapProjection.PROJECTION\_GOOGLE\_MERCATOR, 0, 19)

AxMap1.TileProvider = nproviderId

But it keeps showing OpenStreetMap tiles.

---

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [November 25, 2024, 4:56am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/14 "2024-11-25T04:56:23Z")

</div>

Update:  
Was getting an url malformed error and a projection error also. I fixed that:

Dim result As Boolean = providers.Add(1025, “Azure Maps”, “[https://atlas.microsoft.com/map/tile?subscription-key=](https://atlas.microsoft.com/map/tile?subscription-key=)” & AzureKey & “&api-version=2024-04-01&tilesetId=microsoft.base.road&z={zoom}&x={x}&y={y}&tileSize=256”, tkMapProjection.PROJECTION\_WGS84, 0, 19)

Got the custom provider correctly added (result is true). No errors reported by the tiles.providers. lasterrorcode either.

AxMap1.Tiles.ProviderId = 1025

No error whatsoever but get blank map, no tiles are shown

Any ideas ?  
Thanks, George

---

<div class="post-metadata">

**Author:** ![Phil](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@Phil](https://mapwindow.discourse.group/u/Phil)\
**Post date:** [November 25, 2024, 10:13am UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/15 "2024-11-25T10:13:49Z")

</div>

I had errors like this which were caused by cache usage.  
you can delete the cache file (.db3) or use ClearCache() to test  
Phil

---

<div class="post-metadata">

**Author:** ![jota52](https://avatars.discourse-cdn.com/v4/letter/j/b5e925/32.png) [@jota52](https://mapwindow.discourse.group/u/jota52)\
**Post date:** [November 25, 2024, 6:54pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/16 "2024-11-25T18:54:01Z")

</div>

Thank you Phil, but no change after clearing cache. Also, I have the use server option to True.

George

---

<div class="post-metadata">

**Author:** ![JohnTz](https://avatars.discourse-cdn.com/v4/letter/j/7993a0/32.png) [@JohnTz](https://mapwindow.discourse.group/u/JohnTz)\
**Post date:** [December 13, 2024, 3:52pm UTC](https://mapwindow.discourse.group/t/bing-maps-service-will-end-on-june-30-2024/1736/17 "2024-12-13T15:52:52Z")

</div>

I would also be interested to know if there is a solution to this. The loss of Bing Maps in June 2025 is a bit of blow, especially satellite imagery, as we use it as a base map for a new application (that uses MapWinGIS) that is being launched early 2025. Thus, we’re looking for a replacement for Bing Maps satellite. Azure maps could be an option if it works. Have tried to add MapTiler ([https://www.maptiler.com/](https://www.maptiler.com/)) as a custom tile provider, but experience similar problems, it fails and/or it defaults to displaying OSM. If anyone has got a custom map provider working (ideally using VB code) for any provider, I would appreciate seeing some example code to see if that helps resolve the problem. Any help would be much appreciated. John
