Korzystasz z Map Google jako mapy w tle za pośrednictwem ArcGIS Server?


9

Realizuję (niekomercyjny) projekt, w którym klient nie ma budżetu na zakup danych map, takich jak te dostarczone przez TeleAtlas.

Potrzebują tylko danych mapy do mapy w tle i chcieliby korzystać z Google Maps jako dostawcy.

Rozwiązanie musi jednak zostać zintegrowane z istniejącym rozwiązaniem opartym na ArcGIS Server.

Czy jest to możliwe po wyjęciu z pudełka z ArcGIS Server (9.3.1), a może poprzez rozszerzenie (komercyjne lub inne)?

Odpowiedzi:



7

Oprócz korzystania z narzędzi ArcGIS online może być możliwe wykorzystanie danych serwera ArcGIS - poprzez otwarte interfejsy API, takie jak WMS lub WFS - w OpenLayers , narzędziu do mapowania sieci Open Source. OpenLayers otacza interfejs API JavaScript Map Google - wraz z kilkoma innymi, takimi jak Bing i Yahoo! - i dodaje obsługę otwartych standardów, takich jak WMS / WFS, a także obsługę OpenStreetMap .

Istnieje obsługa niektórych interfejsów API ArcGIS , a społeczność ogólnie wspiera znalezienie rozwiązań do korzystania z istniejących usług ESRI z zastrzeżonymi mapami podstawowymi, takimi jak Google Maps.


2

Wiem, że nie ma możliwości korzystania z map Google i umożliwienia ich żądania z serwera ArcGIS. Obecny interfejs API JavaScript pozwala jednak dodawać obrazy Google do mapy.

Spójrz na rozszerzenie ArcGIS JavaScript dla Google Maps .

Możesz także użyć map bazowych ArcGIS Online (wprowadzenie jest dostępne tutaj ) za pośrednictwem interfejsów API Silverlight, Flex lub JavaScript.


2

Chociaż nie masz bezpośredniego dostępu do kafelków Map Google (z wyjątkiem wyraźnej umowy wynegocjowanej bezpośrednio z Google, co jest mało prawdopodobne), możesz użyć interfejsu API Google Static Map. Oczywiście musisz przestrzegać warunków korzystania z tego interfejsu API.

Mój kolega Rex wyjaśnia to wszystko bardzo dobrze w swoim blogu na ten temat , oprócz zapewnienia w pełni funkcjonalnej próbki dla ArcGIS API dla SL / WPF.

Jeśli chodzi o zwijanie warstwy WMS wewnątrz MXD i publikowanie jako usługa, jest to sprzeczne z najlepszymi praktykami ArcGIS Server. Lepszym rozwiązaniem jest obejście próbki Rex lub, jeśli nie możesz użyć Silverlight, napisz swój własny typ warstwy dla JavaScript lub Flex API.


1

Wcześniej, zanim można było po prostu dodać go jako zasób, ktoś opracował kod ADF, który pozwala połączyć się z Bing (wtedy Virtual Earth) i traktować go jak inną usługę.

Nie pamiętam dokładnie, kto to zrobił i gdzie można znaleźć kod, i myślę, że tak było z serwerem 9.2, ale wygląda to trochę znajomo:

Niestandardowe źródło danych VE dla AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Być może będziesz musiał przeskoczyć niektóre obręcze, aby dodać mapę Google za swoją usługą i / lub polegać na ArcGIS Server pod względem funkcjonalności, ale założę się, że jest to możliwe.


0

Google nie serweruje swoich map jako WMS. Jedynym legalnym sposobem na wykorzystanie go z aplikacjami ESRI jest rozszerzenie ArcGIS JavaScript dla API Map Google.

Bing to lepszy zakład.
Publikowanie WMS za pośrednictwem usługi map kaskadowych jest złą praktyką ze względu na wydajność.


0

chociaż nie pomoże to aplikacjom internetowym, możesz sprawdzić tę nową usługę , którą dodamy do Arc2Earth, w której możesz kupić dostęp do danych Map Google na całym świecie (a także dostęp do ich innych usług Map: Wysokość, Trasa, Geokodowanie itp.) Bezpośrednio z ArcMap.


„musisz ujawnić swoją przynależność w swoich odpowiedziach” . Większość osób robi to w stylu „ Ujawnienie : Jestem właścicielem / deweloperem Arc2Earth”
PolyGeo

0

najpierw musisz uzyskać kafelki Google lub dowolnego dostawcę map, a następnie umieścić je w odpowiednich katalogach.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

następnie musisz opracować usługę internetową, która musi być w x / y / z fromat, która może być wywoływana przez aplikację poboczną, taką jak leaflet.ja lub ArcGis javascript api

ten serwis internetowy musi wyświetlać obrazy kafelków w klinice

Twoja prośba o ten obraz musi być

{your url}+/google.hybrid/16/485/27411

i na koniec dodaj serwis WWW do aplikacji klinicznej. na przykład w Arcgis javascript api

            cycleMap1 = WebTiledLayer('your url'+"/${level}/${col}/${row}",{
            tileInfo: TileInfo({
                dpi: 96,
                rows: 256,
                cols: 256,
                origin: {
                    x: -20037508.342787,
                    y: 20037508.342787
                },
                spatialReference: {
                    wkid: 3857
                },
                lods: lods
            })

        });
        cycleMap1.setVisibility(0)
        map.addLayer(cycleMap1);

lub w pliku leaflet.js

                var tileHtbrid = 'your url' + '/{z}/{x}/{y}';

                var tilemap = L.tileLayer(tileHtbrid, {
                    minZoom: 7, maxZoom: 25,
                    attribution: 'TileServer'
                })

-2

Może być łatwiej zachęcić klientów do rozważenia korzystania z Bing Maps firmy Microsoft jako tła, ponieważ można to uzyskać za darmo od razu po wyjęciu z pudełka. Jedynym haczykiem jest to, że musisz uruchomić ArGIS Server 10, ponieważ o 9.3.1 nadal musisz zapłacić za dostęp. Oto link do strony ESRI z dodatkowymi informacjami. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Dzięki, ale jak napisałem, szukam sposobu na obsługę Map Google, a nie Bing.
Cumbayah
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.