Цель:
Я хочу разрешить пользователям увеличивать масштаб, даже если дополнительные фрагменты недоступны. По сути, я хочу, чтобы карта растягивала или интерполировала максимально возможный уровень масштабирования при увеличении выше уровня 19.
Текущая реализация
Вот запрос WMTS по умолчанию, который я использую для получения фрагментов:
Код: Выделить всё
const tileUrl = `https://data.geopf.fr/wmts?layer=HR.ORTHOIMAGERY.ORTHOPHOTOS&style=normal&tilematrixset=PM&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fjpeg&TileMatrix=${zoom}&TileCol=${coord.x}&TileRow=${coord.y}`;
Код: Выделить всё
const orthoMapType = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
if (zoom > 19) {
// What should I do here to handle higher zoom levels?
return null; // Currently returns nothing, but I want to "stretch" the last available zoom level
}
return `https://data.geopf.fr/wmts?layer=HR.ORTHOIMAGERY.ORTHOPHOTOS&style=normal&tilematrixset=PM&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fjpeg&TileMatrix=${zoom}&TileCol=${coord.x}&TileRow=${coord.y}`;
},
tileSize: new google.maps.Size(256, 256),
maxZoom: 22, // I want to allow zooming up to 22, even if tiles are only available up to 19
minZoom: 0,
name: "Orthophotos"
});
const map = new google.maps.Map(document.getElementById("map"), {
center: { lat: 48.8566, lng: 2.3522 },
zoom: 12,
mapTypeControlOptions: {
mapTypeIds: ["ortho"]
}
});
map.mapTypes.set("ortho", orthoMapType);
map.setMapTypeId("ortho");
- При масштабировании выше уровня 19 карта становится пустой, поскольку нет доступных фрагментов.
- Настройка maxZoom: 22 в параметрах ImageMapType, но это не решает проблему отсутствия плиток.
- Возврат значения null для масштабов > 19, что приводит к появлению пустых плиток.
- Как я могу растянуть или интерполировать последний доступный уровень масштабирования (19) для имитации более высоких уровней масштабирования (20, 21, 22) в Картах Google?
- Javascript Vanilla
- Google Maps JavaScript API v3
Подробнее здесь: https://stackoverflow.com/questions/797 ... vascript-a