需要使用新数据重新绘制地图(与CartoDB.js结合使用)
Need to redraw a map with new data (in conjunction with CartoDB.js)
我似乎在重新初始化传单地图对象时遇到了一些问题。我正在运行一个 init() 函数,该函数首先初始化地图,添加瓦片图层和带有多边形的图层,然后添加根据ST_Intersects查询为多边形着色的子图层。问题是此函数绑定到由单击事件引起的 AJAX 调用,但不根据发送到映射的新参数更新数据。我认为我解释得不是很好,所以这是我的一些代码:
success: function(data) {
init(data);
}
function init(data){
// initiate leaflet map
alert("start");
var map = L.map('cartodb-map').setView([40.750028, -73.926768], 11);
alert("map made");
//create sublayers, etc
}
发生的情况是,第一次运行 init 时,"开始"和"地图制作"警报都有效,并且地图是根据数据制作的。任何进一步调用 init 只是使用"开始"和"地图制作"发出警报永远不会发出警报,所以我相信问题在于重新初始化传单地图。我应该怎么做才能解决这个问题?
在没有看到更多代码的情况下不确定问题,但您可以尝试第二次调用 map.remove(); 所以:
if (map) {
map.remove();
// add in new map initialization here
} else {
var map = ...
}
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- Cartodb信息窗口未在地图上显示变量
- CartoDb+谷歌地图多边形
- 需要使用新数据重新绘制地图(与CartoDB.js结合使用)
- 在Cartodb中设置地图平移限制
- 只有一个圆圈,一次点击点-谷歌地图Api - Cartodb
- 为什么不featureClick工作在我的cartoDB地图