2016-05-11 1 views
0

Je vois souvent de nombreuses cartes créées dans différentes API et je veux en tirer le meilleur pour créer mon propre mashup. Facile à faire lors du débogage d'autres API telles que l'API Javascript d'ESRI, je peux obtenir un point de terminaison de repos dans la source de vue et l'utiliser dans d'autres "visualiseurs" et API de SIG. Mais quand je me heurte à une carte google comme ça http://wildfire.alberta.ca/wildfire-status/wildfire-status-map.aspxObtenir des liens vers des services Web à partir d'une carte Google

Je n'arrive pas à déboguer et trouver une "URL de service" que je peux dire brancher sur un autre client SIG comme ArcGIS Online. Existe-t-il un KML Web sous-jacent que je peux extraire de l'exemple ci-dessus?

Répondre

1

Cette URL utilise le Google Maps Javascript API v3 KmlLayer pour rendre le format KML.

// Add static regions KML 
var regionsLayer = new google.maps.KmlLayer({ 
    url: 'http://wildfire.alberta.ca/apps/wildfirestatusmap/DataFiles/esrd_wma.kmz' 
}); 
regionsLayer.setZIndex(1); 
regionsLayer.setMap(map); 

// Add dynamic markers 
var wildfiresLayer = new google.maps.KmlLayer({ 
    //url: 'http://wildfire.alberta.ca/wildfire-status/status-map-handler.ashx?type=map' 
    url: 'http://wildfire.alberta.ca/apps/wildfirestatusmap/status-map-handler.ashx?type=map' 

}); 
wildfiresLayer.setZIndex(10); 
wildfiresLayer.setMap(map); 

extrait de code:

function initialize() { 
 
    var map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(37.4419, -122.1419), 
 
     zoom: 13, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    // Add static regions KML 
 
    var regionsLayer = new google.maps.KmlLayer({ 
 
    url: 'http://wildfire.alberta.ca/apps/wildfirestatusmap/DataFiles/esrd_wma.kmz' 
 
    }); 
 
    regionsLayer.setZIndex(1); 
 
    regionsLayer.setMap(map); 
 

 
    // Add dynamic markers 
 
    var wildfiresLayer = new google.maps.KmlLayer({ 
 
    //url: 'http://wildfire.alberta.ca/wildfire-status/status-map-handler.ashx?type=map' 
 
    url: 'http://wildfire.alberta.ca/apps/wildfirestatusmap/status-map-handler.ashx?type=map' 
 

 
    }); 
 
    wildfiresLayer.setZIndex(10); 
 
    wildfiresLayer.setMap(map); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="map_canvas"></div>

+0

C'est génial! Je peux accéder à ce fichier KML dans mes autres clients. Cependant, je ne sais toujours pas comment (où précisément) vous avez le chemin. Voici donc le lien que j'ai créé http://wildfire.alberta.ca/apps/wildfirestatusmap/DataFiles/esrd_wma.kmz et lorsque je vois la source sur la page d'origine référencée ci-dessus, elle n'est pas là. Donc je présume qu'il doit être dans les scripts ou autres classés résidant avec cette page htmls - qui est l'URL de la page qui répertorie cette couche .kmz –