javascript-将PHP变量传递到Google Maps API
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-将PHP变量传递到Google Maps API,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2530字,纯文字阅读大概需要4分钟。
内容图文
当用户注册我的应用程序(大学项目)时,系统会要求他们提供地址.我将此地址转换为纬度和经度,然后将其存储在数据库中.
我这样访问纬度和经度:
<?php
require '../connect.php';
session_start();
$_SESSION['username'];
$sql = "SELECT latitude, longitude FROM userinformation WHERE username = '". $_SESSION['username']. "'";
$result = $db->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$lat = $row["latitude"];
$lng = $row["longitude"];
echo $lat;
echo $lng;
}
}
?>
然后,我尝试将$lat和$lng变量传递给Maps API脚本,如下所示:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: '<?php echo $lat;?>', lng: '<?php echo $lng;?>'}
});
marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: '<?php echo $lat;?>', lng: '<?php echo $lng;?>'}
});
marker.addListener('click', toggleBounce);
}
这给了我以下页面:
我也尝试将PHP变量转换为JS:
var js_variable = '<?php echo $lat;?>';
document.write(js_variable);
var js_variable1 = '<?php echo $lng;?>';
document.write(js_variable1);
然后,我传入JS变量而不是PHP变量,但是输出仍然相同.将变量传递为lat / lng而不是硬编码值的正确方法是:
center: {lat: 59.325, lng: 18.070}
position: {lat: 59.327, lng: 18.067}
解决方法:
当我替换the fiddle with strings {lat: '30.365273', lng: '-81.699600'}中的值时,我收到API报告的JavaScript错误:断言失败:InvalidValueError:setPosition:不是LatLng或LatLngLiteral:在属性lat中:不是数字.
如果我在这些字符串上使用parseFloat,它将起作用:
代码段:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {
lat: parseFloat('30.365273'),
lng: parseFloat('-81.699600')
}
});
marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {
lat: parseFloat('30.365273'),
lng: parseFloat('-81.699600')
}
});
marker.addListener('click', toggleBounce);
}
google.maps.event.addDomListener(window, "load", initMap);
html,
body,
#map {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map"></div>
将您的PHP更改为:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: parseFloat('<?php echo $lat;?>'), lng: parseFloat('<?php echo $lng;?>')}
});
marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: parseFloat('<?php echo $lat;?>'), lng: parseFloat('<?php echo $lng;?>')}
});
marker.addListener('click', toggleBounce);
}
内容总结
以上是互联网集市为您收集整理的javascript-将PHP变量传递到Google Maps API全部内容,希望文章能够帮你解决javascript-将PHP变量传递到Google Maps API所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。