0
다음은 왼쪽 하단에 표시된 나의 좌표 그림입니다. 그것은 내 마우스 위치의 좌표를 제공합니다.다른 좌표 시스템 전단지
http://i.stack.imgur.com/AT3tO.png
문제는 글로벌 좌표계 (ESPG 4326)로되어 있지만 I는 (에스토니아어 로컬 좌표계)가 EPSG 3301으로 할 필요가있다.
다음은 좌표를 지정하는 코드입니다.
L.Control.MousePosition = L.Control.extend({
options: {
position: 'bottomleft',
separator: ' : ',
emptyString: 'Unavailable',
lngFirst: false,
numDigits: 5,
lngFormatter: undefined,
latFormatter: undefined,
prefix: ""
},
onAdd: function (map) {
this._container = L.DomUtil.create('div', 'leaflet-control-mouseposition');
L.DomEvent.disableClickPropagation(this._container);
map.on('mousemove', this._onMouseMove, this);
this._container.innerHTML=this.options.emptyString;
return this._container;
},
onRemove: function (map) {
map.off('mousemove', this._onMouseMove)
},
_onMouseMove: function (e) {
var lng = this.options.lngFormatter ? this.options.lngFormatter(e.latlng.lng) : L.Util.formatNum(e.latlng.lng, this.options.numDigits);
var lat = this.options.latFormatter ? this.options.latFormatter(e.latlng.lat) : L.Util.formatNum(e.latlng.lat, this.options.numDigits);
var value = this.options.lngFirst ? lng + this.options.separator + lat : lat + this.options.separator + lng;
var prefixAndValue = this.options.prefix + ' ' + value;
this._container.innerHTML = prefixAndValue;
}
});
L.Map.mergeOptions({
positionControl: false
});
L.Map.addInitHook(function() {
if (this.options.positionControl) {
this.positionControl = new L.Control.MousePosition();
this.addControl(this.positionControl);
}
});
L.control.mousePosition = function (options) {
return new L.Control.MousePosition(options);
};
감사합니다, 크리스티안
답장을 보내 주셔서 감사합니다. 답장을 보내 주셔서 죄송합니다. 전체적으로 상당히 복잡해 보이고이 코드를 사용하는 데 문제가 있습니다. 기본적으로이 코드는 좌표를 수동으로 계산합니까? 왼쪽 하단에 어떻게 표시 할 수 있습니까? 감사합니다. – Ajudoonor
EPSG 프로젝터를 한 번 만들어야합니다. 이것은 아마도 객체의 속성이어야합니다. '_OnMouse_Move' 메쏘드에서 위와 같이 easting과 northing을 계산합니다. 2 요소 배열을 반환합니다. 이 값들을 사용하여 - 길이 좌표 - 문자열을 만들고, 그 문자열에'this._container.innerHTML'을 설정하십시오. –