Карты Google с PHP / MySQL - PullRequest
       2

Карты Google с PHP / MySQL

0 голосов
/ 15 марта 2012

В основном у меня проблема с получением карт Google, чтобы помечать адреса, которые есть в моей базе данных, когда я использую php для:

print codeAddress("example address");

, но работает нормально, когда я его настраиваютак как у меня это здесь, оно даже не отображает карту, может кто-нибудь здесь помочь мне с этим вопросом?

Спасибо, Wakeeta

<DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAWiB6PqOyqsJJZLmoZ5CFb2IP6sqqhtI8&sensor=false">
    </script>
    <script type="text/javascript">
  var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
<?php
    $dbh=mysql_connect('webdb.uvm.edu','swakita','PASSWORD');

if (!$dbh)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db('SWAKITA', $dbh);

$addressprint = mysql_query("SELECT fldStreet FROM tblLocation");
while ($row = mysql_fetch_row($addressprint)) {
foreach ($row as $field) {
print "codeAddress($field)";
}
}
?>
 }



  function codeAddress(address) {
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map, 
            position: results[0].geometry.location
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }
</script>
</head>
<body onload="initialize()">

<div id="map_canvas" style="height:90%;top:30px"></div>
</body>
</html>

1 Ответ

1 голос
/ 15 марта 2012
print "codeAddress($field)";

создает недопустимый код Javascript, потому что когда PHP расширяет переменную $ field, он не будет в кавычках. Это предотвращает отображение карты, потому что Javascript сталкивается с фатальной ошибкой. Попробуйте это:

print "codeAddress(\"$field\")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...