Javascript 如何获取从源地到目的地的所有纬度和经度
我想从谷歌地图上得到所有的纬度和经度 例如:假设我输入了源和目标的lat和lon,路径在地图上绘制如下: 现在我要A源和B目标之间的所有纬度和经度。所有lat和lon都必须存储在数据库中 因此,当我跟踪我的车,而车没有在这条路径上移动时,它会触发一些动作,如发送电子邮件等 我正在用asp.NETC开发 那我怎么才能得到所有的纬度和经度呢 我正在使用下面的脚本Javascript 如何获取从源地到目的地的所有纬度和经度,javascript,c#,asp.net,google-maps,Javascript,C#,Asp.net,Google Maps,我想从谷歌地图上得到所有的纬度和经度 例如:假设我输入了源和目标的lat和lon,路径在地图上绘制如下: 现在我要A源和B目标之间的所有纬度和经度。所有lat和lon都必须存储在数据库中 因此,当我跟踪我的车,而车没有在这条路径上移动时,它会触发一些动作,如发送电子邮件等 我正在用asp.NETC开发 那我怎么才能得到所有的纬度和经度呢 我正在使用下面的脚本 <script> function initialize() { var map
<script>
function initialize() {
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 8,
center: new google.maps.LatLng(22.304634, 73.161070),
mapTypeId: google.maps.MapTypeId.ROADMAP
}),
directions = new google.maps.DirectionsService(),
displayer = new google.maps.DirectionsRenderer({
draggable: true
});
displayer.setMap(map);
directions.route({
origin: new google.maps.LatLng(22.304634, 73.161070),
destination: new google.maps.LatLng(23.022242, 72.548844),
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result) {
displayer.setDirections(result);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
google.maps.event.addListener(displayer, 'directions_changed', some_method);
</script>
您必须在google.maps.DirectionsRoute对象的overview_path属性上循环。然后创建对象或只是序列化overview_路径,将其发送到服务器并存储在数据库中
检查以下示例,了解如何在概览路径上循环:
你咨询过谷歌地图API吗?是的,我通过API,但我没有找到解决方案。你认为什么?在任意两个位置之间有无数个点。没错。但是如果我能在10米的间隔内完成所有任务,那就好了你在使用DirectionService绘制路径?做得好。非常感谢你。。但是我能问一个问题吗。。?此路径由google自动生成。但是假设我想选择另一条路径,那么它是如何工作的呢?假设我找到了3条不同的路径,但我想选择我自己的路径,那么我该怎么做?你会如何找到3条不同的路径?我不确定你的问题在这个方向上是否理解,当我们输入源和目标时,它将在这两个地方之间创建一条路径。但它只走一条路。但是,如果在这两个地方之间有3条不同的路径,那么我们如何选择另一条路径呢?明白了吗?如果你有一个更为复杂的问题,可以用DirectionsRenderer来回答,然后用另一个问题来举例;如果你要回答,那么我不介意发布另一个问题:-
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Geocoding service</title>
<style>
html, body, #map-canvas { height: 100%; min-height: 600px; min-width: 700px; margin: 0px; padding: 0px }
#map-canvas { height: 50%; }
#panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; }
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
</head>
<body>
<div id="panel">
<label>Origin
<input id="origin" type="text" value="">
</label>
<label>Destination
<input id="destination" type="text" value="">
</label>
<input type="button" value="GetDirections" onclick="calcRoute()">
</div>
<div id="map-canvas"></div>
<div id="vertex-container">
<label>Points</label>
<ul id="vertex">
</ul>
</div>
<script type="text/javascript">
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom: 7,
center: new google.maps.LatLng(48.85727000, 2.35238)
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var start = document.getElementById('origin').value;
var end = document.getElementById('destination').value;
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
if (response.routes && response.routes.length > 0) {
var routes = response.routes;
for (var j = 0; j < routes.length; j++) {
var points = routes[j].overview_path;
var ul = document.getElementById("vertex");
for (var i = 0; i < points.length; i++) {
var li = document.createElement('li');
li.innerHTML = getLiText(points[i]);
ul.appendChild(li);
}
}
}
}
});
}
function getLiText(point) {
var lat = point.lat(),
lng = point.lng();
return "lat: " + lat + " lng: " + lng;
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</body>
</html>