Как конвертировать .PNG изображение в плитку для Bing или Google Maps с помощью ASP.NET?
Я ищу способ конвертировать .PNG(например, этот: http://1drv.ms/1O9lrG5) в плитки, которые я могу использовать с Google или Bing Maps. Я думаю о стороне сервера script, которая делает это каждые 10 минут (по мере изменения содержимого .PNG).
Я знаю такие инструменты, как MapCruncher, но это не то, что я ищу: я хочу полностью автоматизированный способ получения соответствующих .PNG, генерирует фрагменты (с лат/длиной из всех 4-х углов), и пусть эти доступ к моему клиентскому приложению.
Любые идеи?
Ответы
Ответ 1
Если вы хотите это: MapTilerLayer (или overlay-simple), вы можете использовать динамический url для рендеринга изображения и установить его как исходное изображение для наложения.
Пример из API Javascript API Google:
function initialize() {
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(62.323907, -150.109291),
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var swBound = new google.maps.LatLng(62.281819, -150.287132);
var neBound = new google.maps.LatLng(62.400471, -150.005608);
var bounds = new google.maps.LatLngBounds(swBound, neBound);
// THE DYNAMIC IMAGE URL
var srcImage = 'http://your.url/image.ashx';
// The custom USGSOverlay object contains the USGS image,
// the bounds of the image, and a reference to the map.
overlay = new USGSOverlay(bounds, srcImage, map);
}
Ответ 2
Если вы не хотите сами писать код нарезки, возможно, следует использовать более старую версию DeepZoomTools.dll.
Вы можете получить .dll, загрузив композитор с глубоким увеличением и вытащите его из него.
Здесь ссылка в блог, показывающая, как программно создавать плитки.
Я использовал его несколько лет назад для хорошего проекта. Если нужно, я мог бы попробовать найти код.