我注意到,当提供来自字段类型为deciel或float的mysql数据库的值时,谷歌地图不会显示正确的地图。接受varchar。
源代码浏览器显示正确的lat和long值,没有空格或其他问题。我试过的Decimal没有找到正确的地图
$lat= $row['latitude']; (decimel from mysql, does not work)
$long=$row['longitude'];
$lat=15.624256;(works)
$long=73.7943410;
<script>
function initialize() {
var mapCanvas = document.getElementById('map');
var mapOptions = {
center: new google.maps.LatLng(<?php echo $lat.', '.$long; ?>),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(mapCanvas, mapOptions)
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
检查数据。还要进行足够的验证,以确保您拥有合理的坐标和适当的精度。查询应将null替换为0。
在生成的html页面中,检查html和javascript的数据格式是否正确。
编写一个伪php来了解数据
$lat= $row['latitude'];
$long=$row['longitude'];
echo '<p>'.$lat.','.$long.'</p>'
提示:最好避免使用$long变量名。使用$经度代替