Google KmlLayer pas l'affichage de marqueur personnalisé
J'ai écrit un script R pour créer un fichier KML et la résultante KML ci-dessous charges icon18.png fine lors de l'affichage dans Google Earth:
<kml xmlns:xsd="http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd" xmlns:xmlns="http://www.opengis.net/kml/2.2/" version="1.0">
<Document>
<name>Member locations</name>
<open>1</open>
<Folder>
<name>SpatialPointsDataFrame</name>
<Style id="pnt1">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal2/icon18.png</href>
</Icon>
</IconStyle>
<BalloonStyle>
<text>$[description]</text>
</BalloonStyle>
</Style>
<Placemark>
<name>1</name>
<styleUrl>#pnt1</styleUrl>
<Point>
<extrude>1</extrude>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>151.26250,-33.89374,0</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</kml>
Toutefois, lorsqu'il est chargé dans un KmlLayer à l'aide de l'API des cartes et le code suivant affiche comme le bleu par défaut "goutte", le marqueur:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=mykey&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
var ctaLayer = new google.maps.KmlLayer('http://www.peter-johnson.com.au/test.kml');
ctaLayer.setMap(map);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>
À la recherche à d'autres questions ici, je ne pouvais voir celles publiées sans code qui sont restées sans réponse ou certains liés au serveur web n'étant pas disponible au public.
Quelques indiciated il problème est maintenant OK, donc je suppose que le chargement des icônes personnalisées dans un KmlLayer est pris en charge, mais j'ai un problème avec le format KML ou la façon dont je suis le charger?
Comme suggéré dans un commentaire, j'ai juste placé le fichier KML dans un publiquement disponibles ici:
http://www.peter-johnson.com.au/test.kml
Et voici le code HTML:
http://www.peter-johnson.com.au/test.htm
- Pouvez-vous poster le lien public vers le fichier KML que vous utilisez avec KmlLayer?
Vous devez vous connecter pour publier un commentaire.
Le fichier KML que vous avez posté ne fonctionne pas avec soit Google Maps ou KmlLayer même après que j'ai fait il valider
Pour ce qu'il vaut, il ne travailler avec geoxml3
Votre version n'est invalide du schéma (au moins selon feedvalidator)
Mise à JOUR:
Le problème est l'emplacement de la définition de l'partagé les styles.
Cette fonctionne et sur Google Maps
La Style définition n'a pas de travail là où vous l'aviez. Les styles partagés regardez comme ils doivent être dans un Document.