重新加载/刷新Google地图

时间:2011-08-29 21:15:41

标签: google-maps sencha-touch

当用户从选择字段中选择一个选项时,我想用新标记重新加载谷歌地图。请帮我如何使用新标记刷新/重新加载谷歌地图。

现在,商店将从选择字段的更改选项重新加载。但标记没有得到刷新,仍然显示旧的结果。

我正在尝试:

mapToRefresh = Ext.getCmp("mapaSearch");
mapToRefresh.update(mapPositions[0]);//mapPosition is the new lat,long
mapToRefresh.rendered = false;
mapToRefresh.render();

但它没有用。我得到这个错误: 未捕获的TypeError:无法读取null的属性'ownerDocument'

由于

2 个答案:

答案 0 :(得分:0)

我在地图上遇到了同样的问题。清除标记并使用选择更改上的新标记更新地图会更简单有效。

如果你需要渲染地图,最好的方法是破坏地图并在选择更改时重新创建它。

希望这会有所帮助。

答案 1 :(得分:0)

当网站连接到两个谷歌地图时会发生此问题。 并且在其中一个地图的另一页上不可用。你必须添加它并隐藏......

示例:

var mapOptions = {
    zoom: 17,
    center: new google.maps.LatLng(59.938863, 30.311556),
     mapTypeControlOptions: {
    mapTypeIds: [google.maps.MapTypeId.ROADMAP,'map_style']
}
};

 var mapOptionsNew = {
zoom: 17,
center: new google.maps.LatLng(59.939119, 30.317952),
 mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP,'map_style']
  }
};

map = new google.maps.Map(document.getElementById('id-map'),apOptions);
mapNew = new google.maps.Map(document.getElementById('id-map1'),mapOptionsNew);