谷歌地图api:地图中心自动更改

时间:2013-12-26 12:56:12

标签: google-maps-api-3

我开发了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);

1 个答案:

答案 0 :(得分:0)

确保您只处理Map的一个实例,而不是在没有正确销毁第一个实例的情况下重新创建它。提到的已知错误似乎只会影响多个地图。为了确保您没有创建多个实例,只需在JS控制台中运行它: Ext.ComponentQuery.query('map')。如果它返回多个结果,那可能是问题。

否则,请确保在地图上禁用 useCurrentLocation 属性。在地图组件上调用 getGeo 方法,并确保地图上没有以某种方式设置的地理位置工具包覆盖位置检测。

如果所有其他方法都失败了,只需添加一个显示侦听器/绘制到您的地图(可能稍有延迟),重新定位地图。