2

我正在使用传单 JS 创建 Day Z(游戏)的地图,并希望能够使用游戏中的坐标系在地图上绘制项目,请参阅 http://dayz.ollieb.net

在游戏中,左上角的坐标是 000 000,然后是 001, 001,其中 10 的单位代表一个网格,所以 010, 010 将是左上角的“网格”(类似于法令调查)。

如何创建一种方法来转换提供的坐标系(点或纬度)以这种方式工作。基本上他们只需要从 000、000(左上角)到 145、130(右下角)。目前我在使用 lat/long 时遇到问题,因为它会弯曲以补偿投影,并且点 (x/y) 似乎每台计算机都会发生变化!

我怎样才能获得一个游戏点并在那个时候在地图上创建一个标记?大概我需要告诉 Leaflet.js 地图左上角和右下角的“数字”是什么?

抱歉,缺乏理解,我已经阅读了所有文档,但看不到任何类似的内容!

在此处查看示例: http ://dabrothas.net/sei/daisy/index.asp?mode=mark&z=3&x=-109.2294921875&y=73.49222029152183

4

3 回答 3

7

我是传单作者。

查看以下问题以获取有关设置非世界 CRS 的代码示例:https://github.com/Leaflet/Leaflet/issues/210 https://github.com/Leaflet/Leaflet/pull/676

我计划对 0.4 版本的投影逻辑进行一些重构,以使这些事情更容易、更自然,敬请期待!

于 2012-06-25T19:25:19.103 回答
2

如果网格坐标系恰好出现在赤道下方零度经度处,则可以使网格坐标系与具有几乎正方形特性的球体上的扇区非常相似。对于所有意图,超过 15 英里的距离,纵向线将非常接近平行。

从这里开始,将网格坐标在宽度和高度上缩放到大约 $t$ 秒,然后设置一个规范化方法,可以提供它似乎需要的 Leaflet LatLng 坐标。由于您停留在一个半球,西北部的纬度/经度为 0 度,因此您的纬度将始终为负。希望这能让你思考...

于 2012-06-05T02:19:35.663 回答
2

Leaflet 0.8-dev 已经足够先进,可以完全自定义坐标系,这是一个在米刻度上完美运行的示例,使用线性 CRC,即使使用比例小部件:

https://gist.github.com/MarZab/7e3b1522ebc383f448a0

于 2015-06-10T20:16:08.650 回答