Как добавить оверлей к моей OpenStreetMap - PullRequest
1 голос
/ 27 мая 2010

В настоящее время я использую карту Google и создаю плитки для нее с помощью сценария 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}

1 Ответ

0 голосов
/ 05 января 2011

Думаю, вы хотите использовать OpenLayers, чтобы показать свое собственное наложение на OSM (или что-либо еще) -карте?

И вы должны использовать, и ваши плитки лежат по URL-адресу типа "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]
...