在react-native-maps中,UrlTile中的反向y轴(用于支持TMS)

时间:2019-01-10 15:19:59

标签: react-native react-native-maps

React-native-maps支持带有UrlTile组件的自定义图块叠加层。他们使用的是Google地图和OSM样式图块编号,其中0,0是左上角。

是否有可能使用TMS磁贴,其中0、0表示左下角(y轴反向)?

除了编写服务器端代理外,我别无他法,它将解析URL中的x,y,z,反向y并使用正确的URL从Tile服务器中卷曲tile。

1 个答案:

答案 0 :(得分:0)

最后我修补了AirMapUrlTile.java,添加了新的变量“ yr”(代表y颠倒了)。

#remove index.php
RewriteCond %{THE_REQUEST} ^.*/index\.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 

#use parameters without " ?id= "
RewriteEngine on
RewriteRule ^/?index.php$ - [L,NC]
RewriteRule ^([a-zA-Z0-9.]+)?$ index.php?id=$1 [QSA,L]

#allow " / " slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !-d 
RewriteRule (.*) index.php?id=$1 [L,NS]

这允许使用String s = this.urlTemplate .replace("{x}", Integer.toString(x)) .replace("{y}", Integer.toString(y)) .replace("{yr}", Integer.toString((1<<zoom) - y - 1)) .replace("{z}", Integer.toString(zoom)); 之类的urlTemplates

但是,对此有一些官方的解决方案会很好。