OpenLayers-2 में टूलटिप के रूप में माउस की स्थिति कैसे प्रदर्शित करें?


10

मैं चाहता हूँ कि मानचित्र OpenLayers में प्रभाव पर माउस के रूप में समन्वय करे। मैं निम्नलिखित कोड का उपयोग कर रहा हूं। हालाँकि यह पिक्सेल निर्देशांक दिखा रहा है:

    map.events.register("mousemove", map, function(e) {      
      var position = e.map.x + e.xy.y;
      OpenLayers.Util.getElement("tooltip").innerHTML = position 
    });

वाह 7k विचार और केवल 4 वोट?
रडार

जवाबों:



11

सिमो के उत्तर में जोड़ने के लिए ... यहाँ एक उदाहरण है:

map.events.register("mousemove", map, function (e) {
    var position = e.map.getLonLatFromViewPortPx(e.xy);
    OpenLayers.Util.getElement("tooltip").innerHTML = "<label>Latitude: " + position.lat + "</label><br/><label>Longitude: " + position.lon + "</label>";
});

जैसा कि मैंने किया था आपको व्यापारी से भौगोलिक में बदलने की आवश्यकता हो सकती है ... यदि ऐसा है:

var position = e.map.getLonLatFromViewPortPx(e.xy).transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));

5

Openlayers 2.12 के रूप में, निम्नलिखित दृष्टिकोण मँडरा से निर्देशांक तक पहुँचने के लिए काम करता है:

map.events.register("mousemove", map, function (e) {            
var point = map.getLonLatFromPixel( this.events.getMousePosition(e) )     
    console.log(point.lon, point.lat)
});

1

Openlayers 2.13 में, आप इसे कर सकते हैं जैसे:

map.addControl(
    new OpenLayers.Control.MousePosition({
        prefix: 'Coords: ',
        separator: ' | ',
        numDigits: 2,
        emptyString: 'Mouse not over map'
    })
);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.