Google maps 在页面加载时将地址传递给Google Maps
使用地理编码初始化谷歌地图时遇到一些问题。第一个问题是$gmap字符串中使用的任何逗号,第二个问题是获取“未定义gmap_initialize”。我知道函数之外的一切都是正确的,有什么想法吗Google maps 在页面加载时将地址传递给Google Maps,google-maps,geocoding,Google Maps,Geocoding,使用地理编码初始化谷歌地图时遇到一些问题。第一个问题是$gmap字符串中使用的任何逗号,第二个问题是获取“未定义gmap_initialize”。我知道函数之外的一切都是正确的,有什么想法吗 <?php $gmap = "Prague, Czech Republic"; ?> <script type="text/javascript"> function gmap_initialize() { var geocoder = new google.maps.Geocod
<?php $gmap = "Prague, Czech Republic"; ?>
<script type="text/javascript">
function gmap_initialize() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': <?php echo $gmap; ?>}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var options = {
zoom: 16,
position: results[0].geometry.location,
center: results[0].geometry.location,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), options);
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>
函数gmap_initialize(){
var geocoder=new google.maps.geocoder();
geocoder.geocode({'address':},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
变量选项={
缩放:16,
位置:结果[0]。geometry.location,
中心:结果[0].geometry.location,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),选项);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。几何体。位置
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
这看起来像是一个JavaScript错误。表示此函数(看起来正确)未定义。也许对gmap_初始化的调用发生在这个定义之前 当页面上的其他内容不太正确时,通常JavaScript会出现此错误,例如缺少一个关闭标记
您是否使用W3C验证了代码?您是否查看了脚本的输出 我猜它看起来像:
geocoder.geocode({'address':捷克共和国布拉格},函数(结果、状态){
在您的PHP脚本中,您可能实际上需要以下内容:
geocoder.geocode({'address':''},函数(结果,状态){
您可能想从
$gmap
变量中转义单引号。谢谢Broady,这是修复方法(忘记用我的答案更新)。转义也很好。