Что делать с Mbutil Export для TileMill и Mapbox - PullRequest
1 голос
/ 06 апреля 2011

Привет всем. Я просто пытаюсь понять, как использовать мой экспорт каталога mbtile. Мои файлы находятся в локальном каталоге "/ mytiles". Как я могу настроить это, чтобы использовать мой пользовательский слой?

  <head>
    <script src="http://www.openlayers.org/dev/OpenLayers.js"></script>
    <script type="text/javascript">

      var map;
      OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
      OpenLayers.ImgPath = "http://js.mapbox.com/theme/dark/";
      function init(){

        // Customize the values below to change the tileset.
        // This information is available on each tileset page.
        var layername = 'world-light';
        var file_extension = 'png';

        // Build the map
        var options = {
          projection: new OpenLayers.Projection("EPSG:900913"),
          displayProjection: new OpenLayers.Projection("EPSG:4326"),
          units: "m",
          numZoomLevels: 12,
          maxResolution: 156543.0339,
          maxExtent: new OpenLayers.Bounds(
            -20037500,
            -20037500,
            20037500,
            20037500
          )
        };
        map = new OpenLayers.Map('map', options);

        // Layer definitions
        var layer = new OpenLayers.Layer.TMS(
          "MapBox Layer",
          [ "http://a.tile.mapbox.com/","http://b.tile.mapbox.com/",
            "http://c.tile.mapbox.com/","http://d.tile.mapbox.com/" ],
          { 'layername': layername, 'type': file_extension }
        );

        // Add layers to the map
        map.addLayers([ layer ]);

        // Set the map's initial center point
        map.setCenter(new OpenLayers.LonLat(0, 0), 1);
      }

    </script>
  </head>
  <body onload="init()">
    <div id="map" style="width: 500px; height: 300px"></div>
  </body>

1 Ответ

2 голосов
/ 12 апреля 2011

Во-первых, посмотрите часть кода, которая включает http://a.tile.mapbox.com/. Замените его именем хоста или локальным именем вашего компьютера - это может быть http://localhost/ или http://mycomputer.com/ и т. Д. Затем замените имя слоя именем вашего слоя.

Поскольку здесь используется слой TMS, вам нужно создать каталог с именем 1.0.0, который будет находиться между этими двумя вещами - вам нужно будет переместить ваши плитки туда, если они находятся в каталоге называется mydirectory. Результат будет выглядеть как http://localhost/1.0.0/mydirectory.

Итак, если URL плитки равен http://localhost/1.0.0/mydirectory/0/0/0.png, у вас будет

var layer = new OpenLayers.Layer.TMS(
  "MapBox Layer",
  [ "http://localhost/" ],
  { 'layername': 'mydirectory', 'type': 'png' }
);

Вы можете обратиться к OpenLayers.org TMS для полной документации по типу слоя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...