Google maps api 3 从多段线开始的板条百分比
如何从沿多段线的给定百分比返回latLng值? 我花了一天的时间使用插值和单个节点。它们是否是一个更简单的函数来执行咕噜工作 谷歌地图API v3 谢谢 为GoogleMapsJavaScriptAPIv2编写,移植到v3 有以下两种方法:Google maps api 3 从多段线开始的板条百分比,google-maps-api-3,Google Maps Api 3,如何从沿多段线的给定百分比返回latLng值? 我花了一天的时间使用插值和单个节点。它们是否是一个更简单的函数来执行咕噜工作 谷歌地图API v3 谢谢 为GoogleMapsJavaScriptAPIv2编写,移植到v3 有以下两种方法: .Distance()返回多边形路径的长度 .GetPointAtDistance()返回指定距离处的GLatLng 沿着小路。 距离以米为单位指定 如果路径短于此值,则返回null 这应该是可行的(如果您包括该脚本,并且您的polyline变量为“p
- .Distance()返回多边形路径的长度
- .GetPointAtDistance()返回指定距离处的GLatLng
沿着小路。
距离以米为单位指定
如果路径短于此值,则返回null
var polylength = polyline.Distance();
var latlng = polylength*(desired percentage)/100);
代码片段:
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
var polyline=null;
var标记;
var信息窗口;
函数createMarker(板条、标签、html){
//警报(“createMarker”(“+latlng+”、“+label+”、“+html+”、“+color+”));
var contentString=''+label+'
'+html;
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:标签,
zIndex:Math.round(latlng.lat()*-100000)100){
百分比=100;
document.getElementById('percent')。value=percent;
}
变量距离=百分比/100*总距离*1000;
//时间=(百分比/100)*总时间/60.toFixed(2);
//警报(“时间:“+Time+”totalTime:“+totalTime+”totalDist:“+totalDist+”dist:”+距离);
如果(!标记){
marker=createMarker(polyline.GetPointAtDistance(距离),“百分比:”+percent,“标记”);
}否则{
marker.setPosition(折线.GetPointAtDistance(距离));
marker.setTitle(“百分比:”+百分比);
marker.contentString=“percent:”+percent+“
距离:”+(距离/1000).toFixed(2)+“km
标记”;
google.maps.event.trigger(标记“click”);
}
}
google.maps.event.addDomListener(窗口“加载”,初始化);
//来自epoly_v3.js
//修改为对线段长度使用几何图形库
//==返回沿路径给定距离的点的GLatLng的方法===
//==如果路径短于指定距离,则返回null===
google.maps.Polyline.prototype.GetPointAtDistance=函数(米){
//一些棘手的特殊情况
if(meters==0)返回此.getPath().getAt(0);
如果(米<0)返回空值;
if(this.getPath().getLength()<2)返回null;
var-dist=0;
var-olddist=0;
对于(var i=1;
(i
html{
身高:100%
}
身体{
身高:100%;
边际:0px;
填充:0px
}
开始:
完:
百分比:
总时间:
var polylength = polyline.Distance();
var latlng = polylength*(desired percentage)/100);