【问题标题】:Problem setting lat and lng variables on Google maps在谷歌地图上设置 lat 和 lng 变量的问题
【发布时间】:2018-12-26 09:39:07
【问题描述】:

我在我的数据库中将 lat 放在第 [2] 行上,并将 lng 放在第 [3] 行上 当我运行下面的代码时,谷歌地图是不可见的。 但是,当我更改变量时 纬度 = 25.3444 经度 = 131.0369 它有效

我想知道下面的代码有什么问题。

<?php
while($row = mysqli_fetch_array($result)){
if($row[0] == $num){
    $lat = $row[2];
    $lng = $row[3];
    }
}

?>

<script>    
latitude = '<?= $lat ?>';
longitude = '<?= $lng ?>';

function initMap() {
var uluru = {lat: latitude, lng: longtitude};
var map = new google.maps.Map(
  document.getElementById('map'), {zoom: 7, center: uluru});

var marker = new google.maps.Marker({position: uluru, map: map});
}
</script>

【问题讨论】:

  • 在while循环之前定义$lat$lng
  • 您在 javascript 控制台中遇到什么错误?我得到Uncaught (in promise) ReferenceError: longtitude is not defined 和发布的代码(因为你有一个错字,longtitude 应该是longitude)。如果我修复它,我会收到两个错误:InvalidValueError: setCenter: not a LatLng or LatLngLiteral: in property lat: not a numberInvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number,因为它们是字符串,而不是数字。

标签: javascript php google-maps


【解决方案1】:

while之前定义$latlng

<?php
var $lat = '';
var $lng = '';
while($row = mysqli_fetch_array($result)){    
if($row[0] == $num){
    $lat = $row[2];
    $lng = $row[3];
    }
}

?>

<script>    
latitude = '<?= $lat ?>';
longitude = '<?= $lng ?>';

【讨论】:

  • 请在您的答案中添加一些解释,否则将被标记为低质量。
【解决方案2】:

您只需定义 lat 和 lng 即可设置这些变量: 在 php 中:

$lat = what ever you want;
$lng = what ever you want;

在js中:

let lat = what ever you want;
let lng = what ever you want;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多