2017-04-05 54 views
0

我正嘗試在基於android,iOS和windows平臺的離子v1框架應用中使用Bing地圖API。Ionic v1框架中的Bing地圖不起作用

我對着在Bing地圖的問題這是正確,但放大繪製,縮小,從空中改變地圖類型道路&獲取當前位置的這些按鈕不起作用。我有適當的API密鑰才能訪問地圖。我甚至嘗試過在瀏覽器上做ionic serve,但沒有任何幫助。

我按照從下面的鏈接代碼: https://github.com/eppineda/ionic.bing-map-demo

我也改變了Bing地圖的JS SRC文件中的index.html頁來自: SRC = 'http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0'

SRC = 'http://www.bing.com/api/maps/mapcontrol'

在src文件我已經改變參照微軟文檔頁面如下: http://www.bing.com/api/maps/sdkrelease/mapcontrol/isdk#loadMapAsync+HTML

問題可以看出,在鏈接 - http://plnkr.co/edit/NO5eLxogOyPHsiXzzpaQ?p=preview

$scope.init = function() { 
    console.log('Map init'); 

    var mapOptions = { 
    credentials: '', 
    mapTypeId: Microsoft.Maps.MapTypeId.road, 
    center: new Microsoft.Maps.Location(51.5033640, -0.1276250), 
    zoom: 15, 
    // showLocateMeButton: false, 
    // // NavigationBarMode: "default", 
    // // NavigationBarOrientation: "vertical", 
    // showZoomButtons: false, 
    // ShowNavigationBar: false 
    showDashboard: true 
    // // showMapTypeSelector : true 
    // // showMapTypeSelector: false 
    // navigationBarMode: Microsoft.Maps.NavigationBarMode.compact 

    }; 
    map = new Microsoft.Maps.Map(document.getElementById('divMap'), mapOptions); 
    console.log(map); 

}; 

請幫我算出這個這對解決方案會非常有幫助。提前致謝。

+0

你能否提供更多信息。您正在使用的新地圖URL沒有回調參數,因此與您指向的異步樣本不一致。地圖是否加載並且您可以看到導航欄?問題主要是與地圖交互?平移工作?你能提供任何代碼嗎? – rbrundritt

+0

因爲我在離子運行它,我使用控制器初始化地圖一次** deviceready **函數被調用。我能夠看到導航欄的位置,放大和縮小按鈕,但這些功能不起作用。 – yogi2806

+0

以下是我的控制器代碼: $ scope.init = function(){console.log('Map init'); var mapOptions = {credentials:'my api key here',mapTypeId:Microsoft.Maps.MapTypeId.road,center:new Microsoft.Maps.Location(51.5033640,-0.1276250),zoom:15} map = new Microsoft.Maps.Map (document.getElementById('divMap'),mapOptions); }; – yogi2806

回答

0

我懷疑有兩個問題之一。首先,您在地圖和/或導航欄/按鈕上方有一些其他HTML元素。這會阻止你按下這些按鈕。第二個是你的代碼實際上是以某種方式加載地圖兩次,因此你將以兩個地圖的頂部爲結尾。發生這種情況時,底部地圖的導航欄會顯示在最上面,並使用它實際上會更改底部隱藏的地圖。我已經在其他人的應用程序中將這個地圖兩次加載到同一個div之前看到過這種情況。

+0

我正在使用離子框架可能是包裝地圖的功能不能確定。我沒有得到離子人的任何答覆。 – yogi2806

+0

有什麼方法可以檢查我的地圖是否繪製兩次? – yogi2806

+0

作爲快速和骯髒的檢查,在地圖加載代碼所在的位置添加警報。如果警報被觸發兩次,則地圖加載功能在某處被調用兩次。 – rbrundritt