我试图弄清楚为什么这个PHP脚本没有创建我在HTML中指定的地图。任何想法?
<!doctype html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style>
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map { height: 100% }
</style>
<script
src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<?php
$lat = $_POST['lat'];
$long = $_POST['long'];
echo "
<script>
function callMap() {
var latlng = new google.maps.LatLng($lat, $long);"; ?>
var options = {
zoom: 5,
center: latlng,
mapTypeId = google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map"),
options);
}
</script>
</head>
<body onload="callMap()">
<div id="map"></div>
</body>
</html>
答案 0 :(得分:3)
您的options
声明语法搞砸了:
var options = {
zoom: 5,
center: latlng,
mapTypeId = google.maps.MapTypeId.TERRAIN // ERROR
};
应该是
var options = {
zoom: 5,
center: latlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
答案 1 :(得分:0)
您还错过了google js链接上的一个括号。
答案 2 :(得分:-1)
我不使用PHP,因此无法判断该代码是否有任何问题。如果删除了PHP和硬编码的lat / lon值,地图是否有效?也许一个问题可能就是表格以纬度和经度发布的价值。您没有进行任何类型的验证以确保它们在可接受的范围内,例如纬度为+90至-90,经度为+80至-180。