简体   繁体   English

Google Maps JS API v3 - 简单多标记V2

[英]Google Maps JS API v3 - Simple Multiple Marker V2

I'm using the information on the question at Google Maps JS API v3 - Simple Multiple Marker Example 我正在使用Google Maps JS API v3上的问题信息- 简单多标记示例

I'll report it: 我会报告:

<!DOCTYPE html>
<html> 
<head> 
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
  <title>Google Maps Multiple Markers</title> 
  <script src="http://maps.google.com/maps/api/js?sensor=false" 
          type="text/javascript"></script>
</head> 
<body>
  <div id="map" style="width: 500px; height: 400px;"></div>

  <script type="text/javascript">
    var locations = [
      ['Bondi Beach', -33.890542, 151.274856, 4],
      ['Coogee Beach', -33.923036, 151.259052, 5],
      ['Cronulla Beach', -34.028249, 151.157507, 3],
      ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
      ['Maroubra Beach', -33.950198, 151.259302, 1]
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 10,
      center: new google.maps.LatLng(-33.92, 151.25),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

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

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
  </script>
</body>
</html>

It work but now I want to improve with locations on database. 它工作但现在我想改善数据库的位置。

var locations = [

<?php
while($row=mysql_fetch_array($resultqr)){
echo ("
  [".$row[nome].", ".$row[latitudine].", ".$row[longitudine].",],
");
}
?>

];

This code work on testpage but not inside the script in variable locations. 此代码适用于testpage但不在变量位置的脚本内部。

Database connect is on other php section outside the script. 数据库连接在脚本之外的其他php部分。

Could you help me? 你可以帮帮我吗?

echo json_encode(array_values($row));

Or, more guaranteed: 或者,更有保证:

$arr = array($row['nome'], $row['latitudine'], $row['longitudine]');
echo json_encode($arr);

The problem in your hand-crafted js array is missing quotes around the strings. 手工制作的js数组中的问题是缺少字符串周围的引号。


Considering your full PHP code: 考虑您的完整PHP代码:

<?php
$locations = array();
while($row=mysql_fetch_array($resultqr)){
    $locations[] = array($row['nome'], $row['latitudine'], $row['longitudine']);
}
echo 'var locations = ' . json_encode($locations) . ';';
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM