小编kam*_*jwa的帖子

在Google路线上添加InfoWindow路线

我正在尝试将InfoWindow添加到路线路线.有很多例子可以在标记上的事件监听器上添加InfoWindow.

但是,如何将InfoWindow移动到从一个标记到另一个标记的实际计划路线上.有人之前已经尝试过问这个问题,但没有回复(InfoWindow on Directions Route).

无论如何,我做了很多谷歌搜索,只发现了一个与此类似的问题,但是再次没有回应.

infowindow.open(map,this)在回调中尝试了标记上的事件,但它会在标记位置打开InfoWindow.它只是我希望显示像谷歌一样的持续时间和距离.像附图中的东西

var infowindow2 = new google.maps.InfoWindow();
distanceService.getDistanceMatrix(distanceRequest, function (response, status) {
    if (status == "OK") {
      infowindow2.setContent(response.rows[0].elements[0].distance.text + "<br>" + response.rows[0].elements[0].duration.text + " ")
    }
    else {
      alert("Error: " + status)
    }
  })
infowindow2.open(map, this);
Run Code Online (Sandbox Code Playgroud)

Google方向图片

javascript google-maps infowindow directions google-directions-api

6
推荐指数
1
解决办法
8608
查看次数

获取Polygon所有点的数组 - Google Maps Drawing Tool API-3

我使用谷歌绘图工具在谷歌地图上绘制多边形/矩形,现在我需要显示落在绘制多边形内的标记,为此我使用geometry.poly.containsLocation方法,它取一个点(latLng)和一个数组多边形点.如果我使用maps.polygon我可以通过poly.getPath()得到多边形点,但因为我使用的是Google绘图工具,它使用maps.drawing.DrawingManager/google.maps.drawing.OverlayType.POLYGON所以不知道如何在这里找到点.谢谢

  var drawingManager = new google.maps.drawing.DrawingManager({
  drawingMode: google.maps.drawing.OverlayType.POLYGON,
  drawingControl: true,
  drawingControlOptions: {
    position: google.maps.ControlPosition.TOP_CENTER,
    drawingModes: [
      google.maps.drawing.OverlayType.MARKER,
      google.maps.drawing.OverlayType.CIRCLE,
      google.maps.drawing.OverlayType.POLYGON,
      google.maps.drawing.OverlayType.POLYLINE,
      google.maps.drawing.OverlayType.RECTANGLE
    ]
  },
  markerOptions: {
    icon: 'images/car-icon.png'
  },
  circleOptions: {
    fillColor: '#ffff00',
    fillOpacity: 1,
    strokeWeight: 5,
    clickable: false,
    editable: true,
    zIndex: 1
  },
  polygonOptions: {
    fillColor: '#BCDCF9',
    fillOpacity: 0.5,
    strokeWeight: 2,
    strokeColor:'#57ACF9',
    clickable: false,
    editable: false,
    zIndex: 1
  }
});
console.log(drawingManager)
drawingManager.setMap(map)
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 google-polyline

4
推荐指数
2
解决办法
2万
查看次数

删除以前的路线路线谷歌地图

嗨,我正在尝试从信息窗口计划一条路线,但我无法删除之前设定的路线.我尝试了setMap(null)但它没有用.我正在使用一个事件监听器的回调,因为我需要传递从api调用返回的参数.一种选择是在每个事件上使用新的google.maps.map,例如标记上的(链接),但是在页面加载时我的标记已经放置.

element = document.getElementById('map-canvas');
map = new google.maps.Map(element, options);
var marker = new google.maps.Marker({
    position: new google.maps.LatLng(car.lat, car.long),
    map: map,
    title: car.make
});
google.maps.event.addListener(marker, 'click', directionsCallback(car));
function directionsCallback(car) {
    return function (e) {
        if( infowindow != null ) {
            infowindow.close();
        }
        var directionsService = new google.maps.DirectionsService();
        directionsDisplay = new google.maps.DirectionsRenderer();
        directionsDisplay.setMap(null);
        console.log(directionsDisplay);
        calcRoute = function(){
            var startPoint = document.getElementById('clientAddress').value;
            var finishPoint = new google.maps.LatLng(car.lat, car.long);
            var request = {
                origin: startPoint,
                destination: finishPoint,
                travelMode: google.maps.TravelMode.DRIVING
            };
            directionsService.route(request, function …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

2
推荐指数
1
解决办法
2705
查看次数