我目前使用谷歌地图并通过使用PHP脚本生成所需的PNG图像来为其创建切片
var myTileLayer = new GTileLayerOverlay(
new GTileLayer(null, null, null, {
//tileUrlTemplate: 'Overlays/Overlay_{Z}_{X}_{Y}.png',
tileUrlTemplate: 'gentile.php?Zoom={Z}&TileX={X}&TileY={Y}',
isPng:true,
opacity:1.0
})
);
map.addOverlay(myTileLayer);
我现在希望使用OpenStreetMap并根据此来源:http://wiki.openstreetmap.org/wiki/OpenLayers_Simple_Example
我需要使用此代码来实现这一点,但是当我想要动态生成时,它似乎要我使用预制的瓷砖
var newLayer = new OpenLayers.Layer.OSM("New Layer", "URL_TO_TILES/${z}/${x}/${y}.png", {numZoomLevels: 19});
map.addLayer(newLayer);
我真的需要使用gentile.php吗?Zoom = {Z}& TileX = {X}& TileY = {Y}
答案 0 :(得分:0)
我想,您是否想使用OpenLayers在OSM上显示您自己的Overlay(或者什么都有)-map?
你要使用,你的瓷砖就像“gentile.php?Zoom = {Z}& TileX = {X}& TileY = {Y}”这样的网址
因此尝试使用以下内容添加图层:
var newLayer = new OpenLayers.Layer.OSM("New Layer", "gentile.php?Zoom=${Z}&TileX=${X}&TileY=${Y}", {numZoomLevels: 19});
我一年前用过那个......
如果不起作用,请写一个htaccess - mod_rewrite
例如类似的东西:
RewriteRule ^(.*)/(.*)/(.*).png$ gentile.php?Zoom=$1&TileX=$2&TileY=$3 [NC]