我通过谷歌Map与显示2点在Map上的目的,一个点是已经预定义的,另一个点将使用数据库坐标的Map。
问题是,即使数据库坐标通过parseFloat函数浮动,google maps也会将这些值标识为NaN,因为alert工作得很好。
数据库名称:
CREATE DATABASE DB_USUARIOS;
USE DATABASE DB_USUARIOS;
CREATE TABLE TB_USERS(
USU_CODIGO INT PRiMARY KEY AUTO_INCREMENTE,
USU_LATITUDE FLOAT(10,7) NOT NULL,
USU_LONGITUDE FLOAT(10,7) NOT NULL
);
字符串
<?php
$consulta=$MySQLi->query("SELECT * FROM TB_USUARIOS");
$resultado = $consulta->fetch_assoc();
?>
<html>
<head>
</head>
<body>
<div id="map"> </div>
<script>
var latitude_cli = <?php echo $resultado['USU_LATITUDE'];?>;
var longitude_cli = <?php echo $resultado['USU_LONGITUDE'];?>;
alert(`${parseFloat(longitude_cli)} `);
alert(`${parseFloat(latitude_cli)} `);
function initMap() {
var ponto1 = newgoogle.maps.LatLng(parseFloat(latitude_cli),parseFloat(longitude_cli));
var ponto2 = new google.maps.LatLng(36.522793, -83.212665);
var map = new google.maps.Map(document.getElementById('map'),
{zoom: 4, center: ponto2});
var marker = new google.maps.Marker({position: ponto1, map: map,
title:"Produto"});
var marker1 = new google.maps.Marker({position: ponto2, map:
map,title:"Você"});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?callback=initMap">
</script>
</body>
</html>
型
1条答案
按热度按时间vbopmzt11#
当您注销
latitude_cli
和longitude_cli
时,您的坐标是什么样子?请确保它们是数字或字符串。下面的代码片段可以正常工作:字符串