मर्केटर प्रोजेक्शन का उपयोग करके 2 अंकों के बीच ओपनलेयर में दूरी की गणना कैसे कर सकता है?ओपनलेयर: दो बिंदुओं के बीच दूरी की गणना कैसे करें?
धन्यवाद
मर्केटर प्रोजेक्शन का उपयोग करके 2 अंकों के बीच ओपनलेयर में दूरी की गणना कैसे कर सकता है?ओपनलेयर: दो बिंदुओं के बीच दूरी की गणना कैसे करें?
धन्यवाद
उपयोग point1.distanceTo(point2)
var Geographic = new OpenLayers.Projection("EPSG:4326");
var Mercator = new OpenLayers.Projection("EPSG:900913");
function distanceBetweenPoints(latlng1, latlng2){
var point1 = new OpenLayers.Geometry.Point(latlng1.lon, latlng1.lat).transform(Geographic, Mercator);
var point2 = new OpenLayers.Geometry.Point(latlng2.lon, latlng2.lat).transform(Geographic, Mercator);
return point1.distanceTo(point2);
}
आपको लगता है कि विधि का उपयोग कर सकते हैं अगर openlayers3
Instanciate दो अंक के बीच एक ol.geom.LineString वस्तु का उपयोग करने और की अवधि की गणना लाइन:
this.distanceBetweenPoints = function(latlng1, latlng2){
var line = new ol.geom.LineString([latlng1, latlng2]);
return Math.round(line.getLength() * 100)/100;
};
फिर आप कुछ गठन का उपयोग कर एक पठनीय मूल्य प्राप्त कर सकते हैं:
this.formatDistance = function(length) {
if (length >= 1000) {
length = (Math.round(length/1000 * 100)/100) +
' ' + 'km';
} else {
length = Math.round(length) +
' ' + 'm';
}
return length;
}