Ionic v1框架中的Bing地图不起作用

问题描述:

我正尝试在基于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

我怀疑有两个问题之一。首先,您在地图和/或导航栏/按钮上方有一些其他HTML元素。这会阻止你按下这些按钮。第二个是你的代码实际上是以某种方式加载地图两次,因此你将以两个地图的顶部为结尾。发生这种情况时,底部地图的导航栏会显示在最上面,并使用它实际上会更改底部隐藏的地图。我已经在其他人的应用程序中将这个地图两次加载到同一个div之前看到过这种情况。

+0

我正在使用离子框架可能是包装地图的功能不能确定。我没有得到离子人的任何答复。 – yogi2806

+0

有什么方法可以检查我的地图是否绘制两次? – yogi2806

+0

作为快速和肮脏的检查,在地图加载代码所在的位置添加警报。如果警报被触发两次,则地图加载功能在某处被调用两次。 – rbrundritt