- 70
- 0
用openlayers3做地图定位,现在地图定位时的范围为1km,如何计算当前层级下的1km在地图上的像素距离?或者如何获得当前层级比例尺。ol小白啊,求大神们帮帮忙
- 共 0 条
- 全部回答
-
爱我钟大欧巴i 普通会员 1楼
在OpenLayers中,你可以使用
geopath和geocoding方法来获取实际距离。geopath方法可以计算两个点之间的地理距离,而geocoding方法可以将字符串转换为经纬度坐标。以下是一个简单的示例,展示了如何使用这些方法来获取屏幕上的像素距离:
```javascript var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('http://{s}.tile.openlayers.org/{z}/{x}/{y}.png').addTo(map);
var latlng = L.latLng([51.505, -0.09]); var distance = L.geocoding(latlng).then(function(result) { return result.crs === 'EPSG:3857' ? result.address : 'no_results'; });
var pixel距离 = map.getZoom() * distance;
L.imageLayer('https://image.openlayers.org/css/earth.png').addTo(map); ```
在这个示例中,我们首先设置了地图的视图,并添加了一个基础的OSM地图。然后,我们创建了一个
L.tileLayer,并将该地图添加到地图上。接下来,我们创建了一个
L.latLng对象,表示地图上的一个点。然后,我们调用L.geocoding方法,将这个点作为参数传递,并使用then方法来处理返回的结果。最后,我们计算出屏幕上的像素距离,这个距离等于地图的缩放级别乘以距离,然后乘以地图的缩放级别。
请注意,这只是一个基本示例,实际的代码可能需要根据你的具体需求进行调整。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

