添加标记并在纬度和经度变化时更新标记
adding a markers and updating the marker when lat and long change
这部分代码使用firebase,它从数据库中检索一个uniquie id,以及它的纬度和经度。 如果 UUID 是 myuuid,它将退出函数。 但如果不是,它会进入下一个函数添加点。
myFirebaseRef.on('child_changed', function(childSnapshot, prevChildKey) {
// code to handle child data changes.
var uuid = childSnapshot.key();
var data = childSnapshot.val();
var username = (data.username);
var lat = (data.coords.latitude);
var lon = (data.coords.longitude);
if (uuid === myUuid) return
addPoint(uuid, username, data);
});
我的函数添加点抓取uuid和纬度和经度并将其绘制在谷歌地图上,我唯一的问题是它不会移动它只是保留的标记添加一个标记。
//add point
function addPoint(uuid, username, data)
{
// alert(username + data.coords.latitude + data.coords.longitude);
var position = new google.maps.LatLng(data.coords.latitude,data.coords.longitude);
var marker = new google.maps.Marker({
position: position,
});
marker.setMap(map);
}
我希望能够在地图上绘制标记并为标记提供唯一 ID,以便如果该标记更改位置,该标记就会移动。解决这个问题的最佳方法是什么。我正在使用谷歌地图和火力基地。
一种选择是将标记保留在数组中,遍历该数组以查找具有该uuid的现有标记,如果存在,请移动它,否则,创建一个新标记。
var gmarkers = [];
//add point
function addPoint(uuid, username, data)
{
var i;
var position = new google.maps.LatLng(data.coords.latitude,data.coords.longitude);
// check for already existing marker
for (i=0; i<gmarkers.length; i++) {
if (gmarkers[i].uuid == uuid) { // existing marker, move it
gmarkers[i].setPosition(position);
return;
}
}
// no existing marker, create a new one
var marker = new google.maps.Marker({
position: position
});
marker.setMap(map);
gmarkers.push(marker);
}
相关文章:
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- AngularJS视图没有'当ng模型值发生变化时,t更新
- ReactJS-这个状态中的数组在删除时被正确更新,但结果是't,直到以后的状态发生变化
- Ng重复不随数组变化而更新
- 如何在数量发生变化时自动更新合计
- 如何在 AngularJs 中的数据库发生变化时立即实现自动视图更新
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 当Firebase数据发生变化时,Google 图表不会更新
- 一旦 JavaScript 中任何 HTML 元素的值发生变化,就会更新画布
- 检索到的 $().position() 更新为 position: absolute 后发生了变化
- 添加标记并在纬度和经度变化时更新标记
- Angular ngClass 没有更新我的类,即使我的条件按预期发生了变化
- Angularjs 指令更新到 DOM 属性值的变化
- 当角度$scope发生变化时,不要更新 HTML
- Spotfire Java脚本将字段拆分为唯一值,并每30秒更新一次MapChart可视化,以反映值的变化
- 范围变量以角度更新,但变化不会反映给用户
- 可观测集合发生变化时更新Div
- 用ng变化更新角度模型
- 根据可观察到的变化更新相关属性
- 粘头不会根据我的变化更新