2010-07-12 5 views
3

J'essaie de placer un marqueur sur ma carte Google. Je pense que je le fais comme Google veut, mais le marqueur n'apparaît pas sur la carte. Qu'est-ce que je fais mal? Vous pouvez voir la carte mis en œuvre ici: http://nidarosnaprapati.no/wordpress/?page_id=66Marqueur de réglage sur google map

<script type="text/javascript"> 
function initialize() { 
var latlng = new google.maps.LatLng(63.4242234, 10.4439311); 
var myOptions = { 
    zoom: 13, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
map.addOverlay(new GMarker(63.4242234, 10.4439311)); 
} 
</script> 

Répondre

8

Le problème est que vous mélangez le code des cartes v2 google google maps v3. La fonction addOverlay et GMarker proviennent de gogle maps v2. Remplacez-les par google maps code v3:

var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title:"Hello World!" 
}); 
+0

Merci de me laisser savoir! –

2

Chaque version est implémentée différemment. On utilise le G ~ sur l'espace de noms global et l'autre sous l'espace de noms google.maps. ~.

Je n'aime pas entièrement la nouvelle version, car certains objets peuvent être construits avec JSON, alors que d'autres ne le peuvent pas. par exemple. LatLng et Marker.

L'ajout d'un autre marqueur de marqueur est également différent, si vous ne voulez pas ce marqueur google standard.

var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    icon: new google.maps.MarkerImage(
     "maps/images/point.png", // reference from your base 
     new google.maps.Size(36, 36), // size of image to capture 
     new google.maps.Point(0, 0), // start reference point on image (upper left) 
     new google.maps.Point(10, 10), // point on image to center on latlng (scaled) 
     new google.maps.Size(20, 20) // actual size on map 
    ) 
}); 

Pour détruire le marqueur, il suffit de mettre:

marker.setMap(null); 
delete marker; 
Questions connexes