-1

我有一个列出会议的网站。它们显示在谷歌地图上。我有两页运行良好,一个包含本周的所有会议(多个制造商),另一个只有 1 个会议。虽然我没有更改代码,但带有多个标记的代码停止工作。

这是不再工作的页面;www.biomeeter.com/index6fixed.php 这是只有 1 个标记的工作页面;http://www.biomeeter.com/biologymeetingsdatabase.php?meeting_id=1060

这是多个位置的代码。不知何故,如果我将 php 结果限制为(不在下面的代码中)只有 1,则地图可以工作。因此,不知何故,标记之间的分离或类似问题似乎存在问题......如果有任何很棒的建议,我不知道如何解决这个问题!

<div id="map" style="width: 550px; height: 370px;"></div>
 <script type="text/javascript">
  var locations = [

<?php


$result = mysql_query("SELECT * FROM meetings WHERE YEARWEEK(start_date) = YEARWEEK(CURRENT_DATE) OR YEARWEEK(end_date) = YEARWEEK(CURRENT_DATE)");

 while($row = mysql_fetch_array($result))
{
$lat = $row['langitude'];   
 $long = $row['longitude'];
  $name = $row['meeting_name'];
   $namewithoutbackspaces = str_replace("'", "", "$name");
    $meeting_id = $row['meeting_ID'];   
    $city = $row['city'];   
     $country = $row['country'];    
      $website=  $row['website']; 
  echo "['$namewithoutbackspaces </br> $city,$country </br> <a href=\"biologymeetingsdatabase.php?meeting_id=$row[meeting_ID]\"       target=\"_blank\" >more info</a></u>', $lat, $long, 1],"; 
   }

  ?>
  ];

var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 1,
  center: new google.maps.LatLng(38.41885, 9.12166),
  mapTypeId: google.maps.MapTypeId.ROADMAP
});

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


var bioImage = new google.maps.MarkerImage('gif files/index/marker.png',
  // This marker is 20 pixels wide by 32 pixels tall.
  new google.maps.Size(21, 43),
  // The origin for this image is 0,0.
  new google.maps.Point(0,0),
  // The anchor for this image is the base of the flagpole at 0,32.
  new google.maps.Point(20, 32));



var pinColor = "FA2222";
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
    new google.maps.Size(21, 43),
    new google.maps.Point(0,0),
    new google.maps.Point(10, 34));


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,
    icon: bioImage
  });

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

4

1 回答 1

1

Firebug 说您的某个位置有未转义的文本。

生成的 HTML 中的第 291 行第 60 列。尤其是中国西安。

您需要转义放入该数组的字符串。

于 2013-05-20T19:59:14.530 回答