我开发了sencha extjs应用程序。根据我的要求,我必须显示谷歌地图。应将地图中心设置为来自服务器的数据。我使用google map api进行上述操作。
当我再次回到同一页面时,地图的中心位置会自动更改。数据没有变化。我检查得很好。意思地图也向上移动并离开。
我在ExtJS应用程序的主页中使用了以下代码。
<script id="google" type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
我在javascript类中使用了以下一组代码行。当在extjs应用程序中显示地图时会调用此方法。
var map = new Ext.create('Ext.Map',{
height: '100%',
mapOptions : {
center : new google.maps.LatLng(latitude,longitude),
zoom : 11,
mapTypeId : google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.DEFAULT
}
}
});
this.add(map);
答案 0 :(得分:0)
确保您只处理Map的一个实例,而不是在没有正确销毁第一个实例的情况下重新创建它。提到的已知错误似乎只会影响多个地图。为了确保您没有创建多个实例,只需在JS控制台中运行它: Ext.ComponentQuery.query('map')。如果它返回多个结果,那可能是问题。
否则,请确保在地图上禁用 useCurrentLocation 属性。在地图组件上调用 getGeo 方法,并确保地图上没有以某种方式设置的地理位置工具包覆盖位置检测。
如果所有其他方法都失败了,只需添加一个显示侦听器/绘制到您的地图(可能稍有延迟),重新定位地图。