Несанкционированный API Arcgis для Google Maps в laravel - PullRequest
1 голос
/ 13 марта 2019

Я новичок в ArcGIS, но я хочу узнать об этом. Так что у меня проблема с этим. Я хочу поместить данные ArcGIS из API в Google Map. Я сделал это в Laravel 5.7 и JavaScript. Но я получил ошибку Unauthorized, как на изображении ниже

enter image description here

Это мой javascript в виде клинка laravel:

 <div id="map">

  </div>
    <script>
      var map;
      const TILE_ORIGIN = [-20037508.34789244, 20037508.34789244];
      const ORIG_X = 1;
      const ORIG_Y = 0;
      const MAP_SIZE = 20037508.34789244 * 2;
      const MINX = 0;
      const MAXX = 1;
      const MINY = 2;
      const MAXY = 3;

      function getBoundingBox(x, y, zoom){
         tileSize = MAP_SIZE / Math.pow(2, zoom);
         minx = TILE_ORIGIN[ORIG_X] + x * tileSize;
         maxx = TILE_ORIGIN[ORIG_X] + (x+1) * tileSize;
         miny = TILE_ORIGIN[ORIG_Y] - (y+1) * tileSize;
         maxy = TILE_ORIGIN[ORIG_Y] - y * tileSize;

         bbox = [minx, miny, maxx, maxy];


        return bbox;
      }
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -6.160323, lng: 106.905114},
          zoom: 18
        });

        var imageMapType = new google.maps.ImageMapType({
        getTileUrl: function(coord, zoom) {
          resultBBox = getBoundingBox(coord.x, coord.y,  zoom);
          url = "http://xx.xx.x.xx/arcgis/services/Asset/AssetMAP_Mobile/MapServer/WmsServer?LAYERS=1,2,3,4,5&TILED=true&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image/png&SRS=EPSG:3857&BBOX="+resultBBox[MINX]+","+resultBBox[MINY]+","+resultBBox[MAXX]+","+resultBBox[MAXY]+"&WIDTH=256&HEIGHT=256" ; //API
          console.log(url);

              return url;

            },

                tileSize: new google.maps.Size(256, 256)
        });
        map.overlayMapTypes.push(imageMapType);
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBu5nZKbeK-WHQ70oqOWo-_4VmwOwKP9YQ&callback=initMap"
    async defer></script>

Ошибка для аутентификации, я должен правильно указать имя пользователя и пароль? но я не знаю, как поставить аутентификацию для имени пользователя и пароля в коде. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете использовать страницу прокси для доступа к защищенным службам отдыха с помощью API ESRI:

Информация: https://developers.arcgis.com/javascript/3/jshelp/ags_proxy.html

Github репо: https://github.com/Esri/resource-proxy

...