Я работаю над проектом, который преобразует слайд-изображения цифровой гистологии (микроскопа) в пиксели JPEG размером 256x256 пикселей, размещенные в архитектуре Google Maps. Поскольку эти ткани установлены на фоне полностью белого (see example here), я использую программу, которая при преобразовании файлов слайдов микроскопа в черепичные JPEG-файлы также удаляет полностью белые плитки. Это экономит огромное количество пространства для хранения, а также приводит к тому, что на сервер загружается гораздо меньше файлов, что полезно, поскольку у меня нет контроля над сервером (я использую хранилище Google).Вызов «плитки по умолчанию» в Картах Google
Однако это оставляет пустые отверстия на изображении. Я пытаюсь загрузить сценарий Google Maps для загрузки одного полностью белого изображения JPEG, если в этом месте нет фрагмента. Я не могу найти ответ нигде, и мои навыки программирования в лучшем случае новичок. Самое близкое, что я могу найти, это использовать tile overlays,, но я не всегда буду знать, какие плитки нужно заменить, и кажется, что это необходимая информация, чтобы заполнить эти незаполненные области.
Мой текущий (очень очень простой сценарий) выглядит следующим образом:
<html> <head>
< script type = "text/javascript"
src = "https://maps.googleapis.com/maps/api/js?sensor=true&v=3" > < /script>
<script type="text/javascript
">
\t function initialize()
\t {
\t geocoder = new google.maps.Geocoder();
\t var myOptions = {
\t \t zoom: 2,
\t \t center: new google.maps.LatLng(0,0),
\t \t mapTypeControl: false,
\t \t streetViewControl: false,
\t \t navigationControl: true,
\t \t mapTypeId: google.maps.MapTypeId.ROADMAP
\t }
map = new google.maps.Map(document.getElementById("
map_canvas "), myOptions);
\t var VM_Map = new google.maps.ImageMapType({
\t \t \t name: 'Digital Histology'
\t \t \t alt: 'Digital Histology',
\t \t \t getTileUrl: function(coord, zoom) {return customGetTileURL(coord, zoom);},
\t \t \t tileSize: new google.maps.Size(256, 256),
\t \t \t minZoom: 1,
\t \t \t maxZoom: 9,
\t \t \t isPng: false
\t \t \t });
\t \t map.mapTypes.set('VM_Map', VM_Map);
\t map.setMapTypeId('VM_Map');
}
function customGetTileURL(a,b) {
return 'SERVER_PATH' + b + '/' + a.y + '/' + a.x + '.jpg'
}
</script>
</head>
<body id="
body " style="
margin: 0px;
padding: 0px;
overflow: hidden;
" onLoad="
initialize()
" >
<div id="
map_canvas " style="
width: 100 % ;
height: 100 % ;
"></div>
</body>
</html>
Любые предложения будут глубоко признателен.
просто определить по умолчанию плитку через [ErrorDocument404] (https://httpd.apache.org/docs /2.4/custom-error.html) –
Мне нужно управлять сервером, чтобы это сделать, да? У меня нет контроля над сервером (я плачу Google за хранение ... Я добавлю это в сообщение). – Brandon
, когда вам нужна белая плитка для недостающих плиток, просто определите белый фон для всех плиток. –