区分标记映射api v3
Distinguish markers maps api v3
im创建了一个带有地理编码和反向地理编码的路由淋浴。工作得很好,但当我想拖动标记时,我想用更新的地址更新正确的输入。问题是我无法确定起点和终点。使用下面的代码,如果我只有一个点,它会正确地更新起始地址,但在添加另一个点后,它们都开始更新相同的输入。(不知道我是否有一个好主意来区分它们的属性-我把这些点添加到数组中,根据它的长度,它应该用"start"或"stop"添加属性destination。似乎在添加第二个标记后,它会更新上一个标记的destination值)。
function placeMarker(location) {
if(list.length < 2) {
marker = new google.maps.Marker({
position: location,
map: map,
draggable:true,
animation: google.maps.Animation.DROP,
destination: 'start'
});
map.setCenter(location);
list.push(marker);
if (list.length == 2) {
list[1].destination = 'stop';
};
geocoder.geocode({'latLng': location}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
if(list.length == 1) {
$('#start').val(results[0].formatted_address);
} else {
$('#end').val(results[0].formatted_address);
}
}
}
});
}
if (list.length == 2) {
drawRoute(list[0].getPosition(), list[1].getPosition());
};
google.maps.event.addListener(marker, 'drag', function(event) {
console.log(marker.destination);
geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (marker.destination == 'start') {
$("#start").val(results[0].formatted_address);
} else {
$("#end").val(results[0].formatted_address);
}
}
});
});
};
谢谢你的帮助!
您只将eventListener附加到一个标记,而不是
google.maps.event.addListener(marker, 'drag', function(event){...})
你应该做一些类似的事情
google.maps.event.addListener(list[0], 'drag', function(event){...})
google.maps.event.addListener(list[1], 'drag', function(event){...})
并且每次创建标记时都应该附加这些侦听器。
相关文章:
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 标记的实时更新,无需加载页面谷歌地图API V3
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 如何在多承诺链中处理谷歌地图API V3事件
- 谷歌地图API v3:Initial View is Fine,but Gray Box with No Map if
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- 使用谷歌地图api v3自动完成字段(法国大道、邮编、城市)
- 如何在谷歌地图api v3中获得无公里驾驶距离
- 如何在Maps API v3.中更改多段线的路径
- 谷歌地图API v3:处理使用限制限制
- gmaps API v3在IE上加载非常慢
- 在谷歌api v3中使用地理自动完成功能获取邮政编码
- markrimage在谷歌地图api v3中的特定位置后消失
- 如何修改此功能以获得最受欢迎的视频?(YouTube API v3)
- 映射API v3标记在单击时消失
- 如何限制谷歌地图API V3半径搜索仅限于圆圈内的标记
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- 加载Google MAPS API v3的JSON数据
- 没有显示带有Infobox PHP/SQL的Google Map API v3