Я использую пользовательский ImageMapType в качестве плана. Я должен иметь возможность отображать одну и ту же карту в двух разных размерах холста для использования на отзывчивом веб-сайте.Настройка границ на картах Google разных размеров
Проблема, с которой я сталкиваюсь, заключается в том, что когда я устанавливаю границы на основе большей версии (800x450) карты, эти ограничения неверны в меньшей версии (560x360). Края карты обрезаны, используя на карте меньшие, используя эти границы. Ясно, что мне нужно использовать разные (большие) границы для малой карты, чтобы края были правильными.
Есть ли способ перевода границ с большей карты на меньшую по размеру холста?
См. Приведенную ниже ссылку Fiddle для демонстрации проблемы.
http://jsfiddle.net/khendar/CvCMq/1/
var marker;
var typeOptions = {
getTileUrl: function (coord, zoom) {
return 'http://fc02.deviantart.net/fs4/i/2004/267/a/4/The_Middle_Earth_Map_by__electra_.jpg';
},
tileSize: new google.maps.Size(1192, 930),
maxZoom: 5,
minZoom: 5
};
var mapType = new google.maps.ImageMapType(typeOptions);
var allowedBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-15.076764665951556, 47.2412109375),
new google.maps.LatLng(6.790762250562566, 64.2041015625));
function initialize(canvas) {
var myLatlng = new google.maps.LatLng(-15.076764665951556, 47.2412109375);
var mapOptions = {
center: myLatlng,
zoom: 5,
streetViewControl: false,
disableDefaultUI: true,
mapTypeControlOptions: {
mapTypeIds: ['stores']
}
};
var map = new google.maps.Map(document.getElementById(canvas), mapOptions);
map.mapTypes.set('stores', mapType);
map.setMapTypeId('stores');
lastValidCenter = new google.maps.LatLng(-15.076764665951556, 47.2412109375);
google.maps.event.addListener(map, 'center_changed', function (event) {
document.getElementById('center').value = map.getCenter();
if (allowedBounds.contains(map.getCenter())) {
lastValidCenter = map.getCenter();
return;
}
map.panTo(lastValidCenter);
});
}
Каковы ваши желаемые границы? Как вы их определили? Если они включают всю область, которую вы хотите видеть, эта область должна быть видимой на обеих ваших картах. Пожалуйста, предоставьте подробности, если это не так. – geocodezip
Границы - это границы изображения, которое я использую в качестве плана. Я устанавливаю границы с помощью инструмента, который я создал для этой цели. Я бы выравнивал SW и NE углы карты и сохранял центральные позиции в каждой точке, которые будут использоваться в качестве границ. Я предполагаю, что это источник моих проблем, поскольку центр будет дальше или ближе к границам в зависимости от размера холста, но я не знаю другого способа сделать это. Я добавил скрипку в оригинальное сообщение, чтобы продемонстрировать проблему. – khendar