【发布时间】:2016-04-18 05:18:22
【问题描述】:
我是网络初学者,并制作了一个带有谷歌地图和标记的网页。管理员可以监控手机的位置,并在一段时间后将其坐标(经度、纬度)发送到服务器,这些坐标以特定的 id 存储在数据库中。
当坐标改变时,标记的位置应该改变,我无法理解它是如何完成的。
我已经制作了 php 文件来获取坐标,但无法理解如何进一步进行。
这是我目前制作的网页:
<!DOCTYPE html>
<html>
<head>
<style>
#map { width: 1000px;height: 500px;}
</style>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
var latlng = {lat: 31.54972, lng: 74.34361};
function initialize()
{
var mapCanvas = document.getElementById('map');
var mapOptions =
{
center: latlng,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(mapCanvas, mapOptions);
var marker = new google.maps.Marker({
position: latlng,
title: "Hello World!"
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
这里是从数据库中获取坐标的 php 文件:
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB','coordinates');
$con = mysqli_connect(HOST,USER,PASS,DB);
$id = $_GET['id'];
$query = "SELECT longitude,latitude FROM data";
$qry_result = mysqli_query($con,$query) or die(mysqli_error());
// Insert a new row in the table for each person returned
while($row = mysqli_fetch_array($qry_result)) {
$longitude = $row['longitude'];
$latitide = $row['latitude'];
}
?>
【问题讨论】:
-
那只有 1 个标记,对吧? 1 发送数据的手机,每次都会向 DB 表中插入一条记录。所以在检查时,我们只需要最后一个值。我理解正确吗?
-
嗨,使用我最新更新的代码,我刚刚编辑了它。让我知道它是否适合你
-
和之前一样,只是一个标记在一个固定的位置,不会移动
-
你能给我发电子邮件吗? emmanueldelay@gmail.com
-
是的,一定要检查收件箱
标签: google-maps