Javascript Google地图,按经度和纬度坐标显示引脚

时间:2013-12-19 09:54:01

标签: javascript google-maps

您好我有一个Javascript代码,显示带有针脚的地图,使用位置作为地址。 从数组中读取地址,数组结构如下:

var locations = ["1915 Edgewater Drive,Orlando,FL", "5555 Kirkman Rd.,Orlando,FL", "4965 Oak Ridge Road,Orlando,FL", "3011 E Colonial Dr,Orlando,FL", "300 Park Avenue,Winter Park,FL"];

用于显示带引脚的地图的代码如下:

function initialize() {
  //Planned direction display
  directionsDisplay = new google.maps.DirectionsRenderer({
      polylineOptions : {
          strokeColor : 'brown',
          strokeOpacity : 0.7,
          strokeWeight : 3
      },
      suppressMarkers : true,
      suppressPolylines : true
  });

  //actual direction display
  directionsDisplayActual = new google.maps.DirectionsRenderer({
      polylineOptions : {
          strokeColor : 'brown',
          strokeOpacity : 0.7,
          strokeWeight : 3
      },
      suppressMarkers : true,
      suppressPolylines : true
  });

    geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': locations[0] }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {

        var chicago = new google.maps.LatLng(results[0].geometry.location.ob, results[0].geometry.location.pb);
          var mapOptions = {
                zoom: 6,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                center: chicago
          }
          map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
          map_actual = new google.maps.Map(document.getElementById('map-actual'), mapOptions);
          calcRoute();
        }
    });

}

现在我没有使用带地址的位置,而是拥有一系列经度和纬度坐标:

var coordinates = [[28.378929,-80.6006008],[28.378628084853,-80.600730804958],[28.378956475407,-80.600553605881],[28.378929693408,-80.60055175679],[28.378785540514,-80.60065325285],[28.378935283517,-80.600646565422],[28.378950753943,-80.600504807166]]

那么如何更改我的代码以使用这些坐标而不是位置地址?

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

var coordinates = [[28.378929,-80.6006008],[28.378628084853,-80.600730804958],[28.378956475407,-80.600553605881],[28.378929693408,-80.60055175679],[28.378785540514,-80.60065325285],[28.378935283517,-80.600646565422],[28.378950753943,-80.600504807166]];
// loop through your array of coordinates
for(var i = 0; i < coordinates.length; i++){
    // create a new marker and add it to the map
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(coordinates[i][0], coordinates[i][1]),
        map: map
    });
}

修改:您使用LatLng对象而不是对地址进行地理编码