Как конвертировать .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, загрузив композитор с глубоким увеличением и вытащите его из него.

Здесь ссылка в блог, показывающая, как программно создавать плитки.

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