gpt4 book ai didi

javascript - 传单不会显示我的标记, "TypeError: t is null"

转载 作者:可可西里 更新时间:2023-11-01 00:56:08 26 4
gpt4 key购买 nike

我想在我的 Leaflet map 上显示一个标记。这给了我以下错误:TypeError: t is null

使用 Google Maps API 获取坐标的 PHP 代码:

<?php
if (isset($_POST["checkAddress"])) { //Checks if action value exists
$checkAddress = $_POST["checkAddress"];
$plus = str_replace(" ", "+", $checkAddress);
$json = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address=' . $plus . '&key=KEY');
$obj = json_decode($json);
$mapLat = $obj->results[0]->geometry->location->lat;
$mapLng = $obj->results[0]->geometry->location->lng;
$coords = ('' . $mapLat . ', ' . $mapLng . '');
echo $coords;
}
?>

运行 PHP 脚本的 jQuery 应该在 Leaflet map 上显示坐标:

$(document).ready(function() {
$("#button").click(function(){
$.ajax({
url: "geo.php",
method: "POST",
data: {
checkAddress: $("#largetxt").val()
},
success: function(response){
console.log(response);
var marker = L.marker([response]).addTo(map);
}
});
});
});

最佳答案

哦,又是你。

您收到一个字符串作为响应。

L.marker 需要 [lat, lng] 但你给它 ["lat, lng"] 一个字符串而不是两个 float 。

在 JavaScript 中解决这个问题:

success: function(response){
var coordinates = response.split(", "); //create an array containing lat and lng as strings
coordinates[0] = parseFloat(coordinates[0]); //convert lat string to number
coordinates[1] = parseFloat(coordinates[1]); //convert lng string to number
var marker = L.marker(coordinates).addTo(map);
}

关于javascript - 传单不会显示我的标记, "TypeError: t is null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42879725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com