- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何在使用 DirectionsService 时向 directionsRenderer 添加鼠标悬停事件监听器?
我知道如何给直线添加监听器,但似乎无法在 directionsRenderer 中找到对象。
例如这个有效:
function getStraightLine(coordinates) {
if (progress.length == 0)
progress = coordinates;
else
progress.push(coordinates[1]);
updateDistance();
var line = new google.maps.Polyline({
path: coordinates,
strokeColor: "#FF0000",
strokeOpacity: .5,
strokeWeight: 2,
map: map
});
google.maps.event.addListener(line, 'mouseover', function(){
alert("moused over straight line!");
});
return line;
}
但这不是:
function getDirectionsPath(coordinates) {
var directionsPath = new google.maps.DirectionsRenderer();
directionsPath.setMap(map);
var request = {
origin: coordinates[0],
destination: coordinates[1],
travelMode: google.maps.TravelMode.WALKING
};
directionsService.route(request, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
var coordinates = result.routes[0].overview_path;
if (progress.length == 0)
progress = coordinates;
else
progress = progress.concat(coordinates);
directionsPath.setDirections(result);
google.maps.event.addListener(directionsPath, 'mouseover', function(){
alert("moused over straight line!");
});
}
});
return directionsPath;
}
我尝试了 result、result.routes[0] 和其他几个,而不是 directionsPath。
那么我应该使用什么对象呢?
最佳答案
您会在 setDirections(directionsResult)
方法生成的“折线”上使用“拖动”事件吗?
如果你不这样做,我想你可以像这样自己创建一个“折线”:
directionsService.route(request, function (result, status)
{
var myRoute = result.routes[0].legs[0];
if (status == google.maps.DirectionsStatus.OK)
{
for (var i = 0; i < myRoute.steps.length; i++) {
for (var j = 0; j < myRoute.steps[i].lat_lngs.length; j++) {
points.push(myRoute.steps[i].lat_lngs[j]);
}
}
}
drawRoute();
}
function drawRoute()
{
var routLine = new google.maps.Polyline(
{
path: points,
strokeColor: "Red",
strokeOpacity: 0.5,
strokeWeight: 10
}
);
routLine.setMap(mapCanvas);
// Add a listener for the rightclick event on the routLine
*google.maps.event.addListener(routLine, 'mouseover', function(){
alert("moused over straight line!");
});*
}
如果您已经解决了问题,请使用类似 google.maps.DirectionsRenderer().setDirections(result)
的方法?
关于javascript - 将鼠标悬停事件添加到 directionsRenderer Google Maps API v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9181636/
尝试绘制路线时,代码运行正常,但不渲染。 下面是一个示例代码,其结构和行为方式相同: Simple markers #map { height:
我正在使用 DirectionsService 和路线方法生成 DirectionsResult。我还使用 DirectionsRenderer 对象来显示结果,因为它非常易于使用。我没问题检测 di
我已经集成了一张 map ,我想显示两个位置之间的路线方向。一切正常,方向显示完美,但我想改变 Polyline 方向的颜色,我已经像文档中说的那样尝试了这段代码: //polyline option
我使用谷歌地图绘制我的路线。我只设置了 2 个点(开始和结束)。问题是我必须将路由发送到下一页。 我知道我可以捕获事件: google.maps.event.addListener(d
因为我想在 React 中创建从当前位置到特定单击标记的路线。为了实现这个,我使用 React Google Map 库( react-google-maps )及其方向示例( Direction E
喜欢 Google Maps API V3,但在使用 DirectionsRenderer 时难以获得准确的行车路线和操作显示的目的地地址. 无论我传递的是地址字符串还是 latLng实例作为 Dir
我正在尝试从 Google map 中清除之前的路线。但是,当您进行另一次搜索时,上一次搜索的多段线和标记仍然会显示。我试过使用 directionsRenderer.setMap(null),但没有
如何在使用 DirectionsService 时向 directionsRenderer 添加鼠标悬停事件监听器? 我知道如何给直线添加监听器,但似乎无法在 directionsRenderer 中
最近,在我们的应用程序的起点和目的地位置之间使用带有“航点”的 DirectionsService 时,我们一直在返回这些在视觉上没有意义的“之字形”路线。 看起来,一切都进行得很好,但在第 7 个航
是否有一种简单的方法来访问由 DirectionsRenderer 创建的标记和信息窗口的对象/属性? (即路线的“A”和“B”端点) 我正在寻找用我从另一个“非路线”标记创建的信息窗口(包含动态内容
在 Google Maps API v3 中,我如何从 DirectionsRenderer 获取航路点标记以便向它们添加点击事件(例如删除菜单)。 最佳答案 在找到更好的解决方案之前,这里是我所采用
我正在尝试在没有 DirectionsRenderer 的情况下绘制自己的路线。 这是我的代码: var map; var directionsService; function initialize
我有一个显示在 map 上的 DirectionsResult。当用户双击 DirectionsRenderer 生成的标记时,如何访问各个多段线(腿)并更改颜色。 最佳答案 您不能对特定的路段使用不
我正在尝试在没有 DirectionsRenderer 的情况下绘制自己的路线。 这是我的代码: var map; var directionsService; function initialize
我正在使用谷歌地图 v3。 我已经抑制了标记以在 map 本身上显示我自己的标记。 我想修改方向 div 中显示的那些,但图像没有 ID 或类 是否有其他方法可以修改源,或者我需要滚动自己的方向渲染
我正在使用 NgMap,我需要在 Controller 中获取方向。我尝试过以下方法: NgMap.getMap().then(function(map) { console.log(map.
我是一名优秀的程序员,十分优秀!