OpenLayer3 ile görüntülenen bir MapQuest var. Viewport koordinatlarını almak istiyorum (harita alanı düzenli olarak görüntülenir). Bütün harita için bu şöyle olmalı: (180,90) x (-180, -90).OpenLayer3 - görünümün koordinatları nasıl alınır
ama var: Sağ üst boylam: 37570328,14272983 Sağ üst enlem: 18941707,105292957 Aşağı sol boylam: -37570328,14272983 Aşağı sol enlem: Ben bunun için jsFiddle var -18941707,105292957
: http://jsfiddle.net/0d6d6kxf/2/
Ben olsun koordinatları için kullanmak komutu (div geçerli haritanın coords elde etmek için "görünüm penceresi coords Al" ı tıklayın) 'dir: var ölçüde = map.getVi . Ew() calculateExtent (map.getSize());
Bu sonuçlar neden derece değil? Derecesi nasıl korunuyor?
JS kodu:
$(document).ready(function(){
object = new QuestMapWrapper();
object.openMap();
object.getViewportCords();
});
function QuestMapWrapper()
{
//private var
var map;
var view;
//public var
this.wrapperName="QuestMapWrapper";
//methods
this.openMap = function() {
//$('#ol-viewport').show();
//$('#gmap').hide();
//set layers of one
var layers = [
new ol.layer.Tile({
style: 'Road',
source: new ol.source.MapQuest({layer: 'osm'})
})]
view = new ol.View({
//center: ol.proj.transform([20, 52.702222], 'EPSG:4326', 'EPSG:3857'),
center: ol.proj.transform([0., 0.0], 'EPSG:4326', 'EPSG:3857'),
//center: [-73.979378, 40.702222],
zoom: 1
});
map = new ol.Map({
layers: layers,
//renderer: exampleNS.getRendererFromQueryString(),
target: 'map',
view: view
});
};
/** Set viewport details */
this.getViewportCords = function() {
//var extent = view.calculateExtent(map.getSize());
var extent = map.getView().calculateExtent(map.getSize());
//var extent = map.getExtent().transform(map.projection, map.displayProjection)
var factor = 1; // coordinates must be devided by 100000 to get real coord
$('#tr-lon').text(extent[2]/factor);
$('#tr-lat').text(extent[3]/factor);
$('#dl-lon').text(extent[0]/factor);
$('#dl-lat').text(extent[1]/factor);
}
}
Evet:) ... Bunu birkaç dakika önce ilk ipucundan sonra çözdüm:) ... –