【问题标题】:latitude and longitude of current position in openlayeropenlayer当前位置的经纬度
【发布时间】:2017-08-30 10:54:20
【问题描述】:

我正在尝试获取当前位置的纬度和经度值。有什么方法可以获得经纬度值吗?我试图通过获取当前位置的纬度和经度值来放置制造商。

【问题讨论】:

    标签: javascript openlayers openlayers-3


    【解决方案1】:

    不确定您在寻找什么,但这里有几种方法可以根据鼠标点击或位置来获得纬度:

    鼠标点击纬度和经度:

    map.on('click', function(evt){
        console.info(evt.pixel);
        console.info(map.getPixelFromCoordinate(evt.coordinate));
        console.info(ol.proj.toLonLat(evt.coordinate));
        var coords = ol.proj.toLonLat(evt.coordinate);
        var lat = coords[1];
        var lon = coords[0];
        var locTxt = "Latitude: " + lat + " Longitude: " + lon;
        // coords is a div in HTML below the map to display
        document.getElementById('coords').innerHTML = locTxt;
    });
    

    鼠标移动/定位经纬度:

    map.on('pointermove', function(evt) {
        //Same code as in click event
    });
    

    不完全确定“获取当前位置的纬度和经度值”是什么。意味着在你的帖子中

    【讨论】:

    • 直接在MapBrowserEventjavascript map.on('click', evt => console.log(evt.coordinate)) 中获取
    • import {fromLonLat, toLonLat} from 'ol/proj';
    【解决方案2】:

    你可以使用:

    1. var lonlat = ol.proj.toLonLat(evt.coordinate);

    2. var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');

    得到它:alert("latitude : " + lonlat[1] + ", longitude : " + lonlat[0]);

    在: map.on('click', function (evt) { }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 2013-01-11
      • 2013-08-03
      相关资源
      最近更新 更多