Javascript 当mysql提供十进制纬度和经度时,谷歌地图显示错误的地图
我注意到google maps在提供字段类型为decimel或float的mysql数据库中的值时没有显示正确的映射。接受varchar 源浏览器显示正确的lat和long值,没有空格或其他问题。我试过的方法都不正确Javascript 当mysql提供十进制纬度和经度时,谷歌地图显示错误的地图,javascript,php,Javascript,Php,我注意到google maps在提供字段类型为decimel或float的mysql数据库中的值时没有显示正确的映射。接受varchar 源浏览器显示正确的lat和long值,没有空格或其他问题。我试过的方法都不正确 $lat= $row['latitude']; (decimel from mysql, does not work) $long=$row['longitude']; $lat=15.624256;(works) $lo
$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>
$lat=$row['latitude'];(mysql中的十进制,不起作用)
$long=$row[‘经度’];
$lat=15.624256;(工程)
$long=73.7943410;
函数初始化(){
var mapCanvas=document.getElementById('map');
变量映射选项={
中心:新的google.maps.LatLng(),
缩放:16,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(mapCanvas,mapOptions)
}
google.maps.event.addDomListener(窗口“加载”,初始化);
检查数据。还要进行足够的验证,以确保您拥有合理的坐标和适当的精度。查询应将null替换为0
在生成的html页面中,检查html和javascript是否使用数据正确格式化
编写一个虚拟php来了解数据
$lat= $row['latitude'];
$long=$row['longitude'];
echo '<p>'.$lat.','.$long.'</p>'
$lat=$row['latitude'];
$long=$row[‘经度’];
回显“”.$lat.,“$long.”'
提示:最好避免使用$long变量名。改用$longitude我们可以看看您的数据库模式吗?使用正确的数据类型等。创建表
分支(id
int(10)无符号非空自动增量,location
varchar(45)非空,address
varchar(500)非空,googlelink
varchar(500)非空,user\u id
int(10)无符号非空,active
int(10)不为空,delete\u data
int(10)无符号不为空,delete\u用户id
int(10)无符号不为空,latitude
varchar(9)不为空,varchar(9)不为空,mylongitude
decimal(10,6)不为空,mylatitude
decimal(10,6)不为空,主键(id
)ENGINE=InnoDB AUTO_INCREMENT=7默认字符集=latin1行格式=动态;我添加了decimel和varchar用于测试。。。将$loang更改为$LONGITUDE后仍然不起作用更改变量名只是一种“良好做法”。。。但我的建议是将列约束放在DB中。检查此项以获取有效值