简体   繁体   English

带有PHP / mySQL的Google Maps

[英]Google Maps with PHP/mySQL

Basically I'm having a problem with getting google maps to tag addresses that are in my database, when I use php to do: 基本上,当我使用php进行操作时,让Google Maps标记数据库中的地址时遇到了问题:

print codeAddress("example address");

it works fine, however, when I set it up as I have it here it doesn't even display the map, can anybody here help me with this issue? 它工作正常,但是,当我在这里进行设置时,它甚至不显示地图,在座的人可以帮我解决这个问题吗?

Thanks, Wakeeta 谢谢,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>
print "codeAddress($field)";

creates invalid Javascript code because when PHP expands the $field variable it will not be in quotes. 创建无效的Javascript代码,因为当PHP扩展$ field变量时,它将不会用引号引起来。 This prevents the map from displaying because the Javascript encounters a fatal error. 由于Javascript遇到致命错误,因此无法显示地图。 Try this: 尝试这个:

print "codeAddress(\"$field\")";

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

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