从 GPS 获取当前标记位置并保存到 mySQL
Posted
技术标签:
【中文标题】从 GPS 获取当前标记位置并保存到 mySQL【英文标题】:Get current marker location form GPS and save to mySQL 【发布时间】:2017-02-06 07:27:35 【问题描述】:我有以下 JS 代码,形成此代码我需要将默认位置设置为我当前的 GPS 位置,
var map = new google.maps.Map(document.getElementById('map_canvas'),
zoom: 1,
center: new google.maps.LatLng(35.137879, -82.836914),
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 20
);
var myMarker = new google.maps.Marker(
position: new google.maps.LatLng(47.651968, 9.478485),
draggable: true
);
google.maps.event.addListener(myMarker, 'dragend', function (evt)
document.getElementById('current').innerhtml = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
);
google.maps.event.addListener(myMarker, 'dragstart', function (evt)
document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
);
map.setCenter(myMarker.position);
myMarker.setMap(map);
设置我的标记后(如果我需要更改位置),那么我需要一个按钮来提交,提交按钮后它将保存到我的 mysql 数据库中。 有人可以帮忙吗?
【问题讨论】:
你后端的代码是什么? @Jerry Chin,当我的 JS 代码或页面加载时,它会显示我的默认位置,目前它不显示我当前的位置,它显示的是预定义的位置 【参考方案1】:您可以使用 ajax 调用将数据发布到服务器,然后服务器端提供在数据库中存储 di 值
假设您有一个用于存储名为 your_action_on_server.php 的数据的服务器程序,您可以扩展拖动结束事件 这只是发送部分(您必须提供与您的数据库连接相关的服务器端存储功能)
google.maps.event.addListener(myMarker, 'dragend', function (evt)
document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
$.post( 'your_action_on_server.php',
lat:evt.latLng.lat().toFixed(3),
lng: evt.latLng.lng().toFixed(3)
,
function (data)
// you code for succcess from server
);
);
要获取当前位置,您可以使用地理位置对象 api 更多信息请参见https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
if ("geolocation" in navigator)
/* geolocation is available */
else
/* geolocation IS NOT available */
.....
navigator.geolocation.getCurrentPosition(function(position)
do_something(position.coords.latitude, position.coords.longitude);
);
【讨论】:
默认情况下它不显示当前位置,请你帮我,当页面加载时它会加载当前位置然后我可以更改标记,之后我可以按一个按钮添加然后它会保存该位置。 要获取当前位置,您可以使用 javascript gelocaltion api .. 我已经用一个简短的建议更新了答案以上是关于从 GPS 获取当前标记位置并保存到 mySQL的主要内容,如果未能解决你的问题,请参考以下文章