javascript-从多义线获取事件或从DirectionsRenderer获取标记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-从多义线获取事件或从DirectionsRenderer获取标记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2285字,纯文字阅读大概需要4分钟。
内容图文
![javascript-从多义线获取事件或从DirectionsRenderer获取标记](/upload/InfoBanner/zyjiaocheng/653/7a7f7e0afd4842e3b924246c3faf798f.jpg)
我正在使用DirectionsService和route方法生成DirectionsResult.我还使用DirectionsRenderer对象显示结果,因为它非常易于使用.我没有检测到directions_changed事件的问题,但是我想知道是否有可能从代表行程的折线中获取事件,甚至从拖动折线后生成的标记(小圆圈)中获取事件.
使用google地图(maps.google.com,“获取路线”)时,您可以拖动折线,右键单击折线(或标记),以显示菜单.因此,我想有一种方法可以从DirectionsRenderer捕获事件(假设Google在这种情况下使用此对象).
如果有人知道
解决方法:
我也在寻找您问题的答案.在此之前,我会尝试自己解决问题,如果发现有用的内容,我会回发.
更新:使用JavaScript几分钟后,我发现DirectionsResult对象包含一个航点数组,包括当用光标拖动路径时创建的航点.如果完成了Draggable Directions tutorial,则可以通过directions_changed事件的回调方法内的directionsDisplay.directions访问该对象.该对象拥有一个名为sf的成员,该成员拥有一个Waypoints数组(如果存在),如果没有,则为null.该数组的每个成员都包含一个名为location的成员,该坐标存储wa(纬度)和ya(经度)下的坐标.
为了演示航点处理,我编写了一个小函数来显示标记,以代替航点.为了对其进行测试,请在脚本中添加以下全局变量;
var markers = [];
修改directions_changed事件回调函数
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
computeTotalDistance(directionsDisplay.directions);
});
以下内容;
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
computeTotalDistance(directionsDisplay.directions);
displayWaypoints(directionsDisplay.directions);
});
并添加此功能
function displayWaypoints(result) {
for (var i = 0; i < markers.length; ++i) {
markers[i].setMap(null);
}
markers = [];
if (result.sf.waypoints) {
for (var i = 0; i < result.sf.waypoints.length; ++i) {
var latitude = result.sf.waypoints[i].location.wa;
var longitude = result.sf.waypoints[i].location.ya;
markers.push(new google.maps.Marker({
position: new google.maps.LatLng(latitude, longitude),
map: map
}));
}
}
}
您可能还希望隐藏DirectionsRenderer的内置标记绘图.
更换
var rendererOptions = {
draggable: true
};
与以下
var rendererOptions = {
draggable: true,
suppressMarkers: true
};
我找不到对该SF成员的任何官方引用.使用它需要您自担风险,Google可能会修改API,恕不另行通知.在拖动方向后,除非他们提供用于操纵路标的公共API,否则我想不出更好的解决方案.
这是我的第一个Stack Overflow答案,希望对我有所帮助.
亲切的问候,
强尼
内容总结
以上是互联网集市为您收集整理的javascript-从多义线获取事件或从DirectionsRenderer获取标记全部内容,希望文章能够帮你解决javascript-从多义线获取事件或从DirectionsRenderer获取标记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。