如何在google maps API中设置起点和终点标记

时间:2016-07-08 11:18:20

标签: javascript jquery google-maps google-maps-api-3 google-maps-markers

Iam在这样的参数中得到地图起点和终点lat lng(58.39847354300152,15.579836368560791)并且必须为两者设置两个不同的标记..现在我只能设置一个标记开始或结束。如何设置

function markerStartEnd(map,startPoint,endPoint,startTime,endTime){
var anchor = new google.maps.Point(20,41),
    size = new google.maps.Size(41,41),
    origin = new google.maps.Point(0,0),
    icon = new google.maps.MarkerImage('../../static/js/start.png',size,origin,anchor);
new google.maps.Marker({icon:icon,map:map,position:startPoint});
new google.maps.Label({ position: startPoint, map: map, content:startTime});

icon = new google.maps.MarkerImage('../../static/js/end.png',size,origin,anchor);
new google.maps.Marker({icon:icon,map:map,position:endPoint});
new google.maps.Label({ position: endPoint, map: map, content:endTime});

}

1 个答案:

答案 0 :(得分:1)

我发布的代码出错:Uncaught TypeError: google.maps.Label is not a constructor。没有google.maps.Label类。如果删除它,您的代码就可以运行。

proof of concept fiddle

代码段

function initialize() {
  var map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      center: new google.maps.LatLng(37.4419, -122.1419),
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
  markerStartEnd(map, new google.maps.LatLng(40.7127837, -74.00594130000002), new google.maps.LatLng(40.735657, -74.1723667), "10:00", "10:20");
  var bounds = new google.maps.LatLngBounds();
  bounds.extend(new google.maps.LatLng(40.7127837, -74.00594130000002));
  bounds.extend(new google.maps.LatLng(40.735657, -74.1723667));
  map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, "load", initialize);

function markerStartEnd(map, startPoint, endPoint, startTime, endTime) {
  var anchor = new google.maps.Point(20, 41),
    size = new google.maps.Size(41, 41),
    origin = new google.maps.Point(0, 0),
    icon = new google.maps.MarkerImage('http://maps.google.com/mapfiles/ms/micons/blue.png', size, origin, anchor);
  new google.maps.Marker({
    icon: icon,
    map: map,
    position: startPoint
  });
  /* new google.maps.Label({
    position: startPoint,
    map: map,
    content: startTime
  }); */

  icon = new google.maps.MarkerImage('http://maps.google.com/mapfiles/ms/micons/green.png', size, origin, anchor);
  new google.maps.Marker({
    icon: icon,
    map: map,
    position: endPoint
  });
  /* new google.maps.Label({
    position: endPoint,
    map: map,
    content: endTime
  }); */
}
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>