2013-09-08 3 views
13

Когда я приближаюсь достаточно далеко на своей карте, TileLayer исчезает, и я вижу кучу плиток, в которых говорится: «Данные карты еще недоступны». Я считаю, что эти плитки могут поступать от провайдера, но я не уверен (я использую набор данных ESRI WorldImagery).Листовка увеличить дальнейшие и стрейч-плитки

Есть ли способ, на определенном уровне масштабирования, просто заставить плитки растягиваться, а не запрашивать плитки для этого уровня масштабирования? Я в порядке с размытием, но мне нужно увеличить масштаб.

Я попытался играть с параметром zoomOffset, но всякий раз, когда я помещал что-то там, кроме 0, мои плитки просто никогда не загружаются (все серые).

Спасибо!

+0

Я ищу то же самое. Они обслуживаются ESRI. (см. http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer/tile/17/59010/68784). В отличие от открытой карты улиц, например, которая выдает 404 и заставит ее TileLayer записывать событие 'tileerror'. Я борюсь с этим весь день, вы нашли что-нибудь со времени публикации? – cscott530

+0

К сожалению, нет. Я вытащил трус и использовал (менее симпатичный) Open MapQuest плитку вместо ... – elsurudo

+0

Я ищу то же самое, чтобы поддерживать масштабирование за самым высоким уровнем масштабирования, предоставляемым MapBox Satellite, и просто показывать одну и ту же плиту, но растягивается до более высокого уровня масштабирования. Это основное различие, которое я вижу между MapBox и Google в настоящее время. Google не обязательно имеет более высокое разрешение, но он более полезен при более высоких уровнях масштабирования, несмотря на то, что он был «увеличенным». Я надеялся найти плагин Leaflet, который сделает это, но ничего не нашел. – JasonRDalton

ответ

18

Это можно решить, используя две опции L.TileLayer.

Во-первых, установите maxNativeZoom на самый высокий уровень масштабирования, который дает ваша плитка (последний уровень масштабирования до появления «Данные карты недоступны» - это означает, что «Листовка» перестает запрашивать новые плитки при масштабировании за пределами этого уровня; будет использоваться вместо

Во-вторых, установить maxZoom в любой зум подходит;. вы, возможно, не хотят, чтобы это было больше, чем на пару уровней выше, чем maxNativeZoom, так как растянутые плитки начинают выглядеть довольно ужасно

.

Подробнее о деталях вы можете узнать, указав «Опции» в документации для.: http://leafletjs.com/reference.html#tilelayer