不显示标记是什么错误..?

时间:2015-07-27 08:21:39

标签: google-maps

使用数据库中的lat long来映射不显示错误的标记

<script>
function initialize() {
  var myLatlng = new google.maps.LatLng(<?PHP echo json_encode($output,JSON_NUMERIC_CHECK)?>);
  var poss = new google.maps.LatLng(15,78);
  var mapOptions = {
    zoom: 4,
    center: poss
  }
  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

  for(i = 0;i < myLatlng.length;i++ ) {
  var marker = new google.maps.Marker({
      position:new google.maps.LatLng( myLatlng[i][0], myLatlng[i][1]),
      map: map,
  });
  };
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>

1 个答案:

答案 0 :(得分:0)

您的问题是myLatlng数组的定义。从该数组周围移除google.maps.LatLnggoogle.maps.LatLng取两个数字,而不是数组。)

<script>
function initialize() {
  var myLatlng = <?PHP echo json_encode($output,JSON_NUMERIC_CHECK)?>;
  var poss = new google.maps.LatLng(15,78);
  var mapOptions = {
    zoom: 4,
    center: poss
  }
  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

  for(i = 0;i < myLatlng.length;i++ ) {
  var marker = new google.maps.Marker({
      position:new google.maps.LatLng( myLatlng[i][0], myLatlng[i][1]),
      map: map,
  });
  };
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>

工作代码段(无PHP):

var myLatlng = [
  [8.6, 105.65],
  [14, 109.38],
  [16.83, 108.62],
  [8.3, 104.88],
  [8.97, 106.88]
];

function initialize() {
  var poss = new google.maps.LatLng(15, 78);
  var mapOptions = {
    zoom: 4,
    center: poss
  };

  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
  var bounds = new google.maps.LatLngBounds();
  for (i = 0; i < myLatlng.length; i++) {
    var marker = new google.maps.Marker({
      position: new google.maps.LatLng(
        myLatlng[i][0],
        myLatlng[i][1]),
      map: map,
    });
    bounds.extend(marker.getPosition());
  }
  map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
body,
html,
#map_canvas {
  height: 100%;
  width: 100%;
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>