Фрагменты карты для Openstreetmaps (OSM) и Google Maps (вид со спутника) - PullRequest
4 голосов
/ 07 июня 2010

Являются ли плитки из Openstreetmap (OSM) совместимыми с плитками Google Maps (спутниковый вид)? Под совместимостью я имею в виду - возможно ли использовать код / ​​логику, написанную для чтения плиток OSM, для загрузки плиток с карт Google?

Может кто-то указать на хорошие ресурсы, которые могут объяснить больше по этой теме.

1 Ответ

6 голосов
/ 07 июня 2010

Если под совместимостью вы имеете в виду «существует ли одинаковая плитка, покрывающая точно такую ​​же область для определенного уровня масштабирования», то да, плитки OpenStreetMap совместимы с Картами Google и даже с Bing Maps.

Если вы хотите добавить плитки карты OSM в качестве слоя с помощью API Карт Google, то вы можете использовать код, подобный следующему:

var copyOSM = new GCopyrightCollection("<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");
copyOSM.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, " "));

var tilesMapnik     = new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png'});
var mapMapnik     = new GMapType([tilesMapnik],     G_NORMAL_MAP.getProjection(), "Mapnik");

map = new GMap2(document.getElementById("map_canvas"), { mapTypes: [mapMapnik, G_SATELLITE_MAP] });
map.setCenter(new GLatLng(32.08, 34.82), 12);

map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
...