2009-04-16 6 views
1

Comment est-ce que je peux mettre une épingle en utilisant un clic de ma souris? étant donné c'est le code:Ajout d'une punaise à une carte en utilisant Javascript

function AddPushpin() 
    { 
     var shape = new VEShape(VEShapeType.Pushpin, **map.GetCenter()**); 
     shape.SetTitle('sample'); 
     shape.SetDescription('This is shape number '+pinid); 
     pinid++; 
     map.AddShape(shape); 
    } 

il pointe vers le centre ..

avez-vous une idée sur la façon d'ajouter une image à vol stationnaire pushpin?

+0

Est-ce Google Maps ou autre chose? –

+0

en fait c'est Microsoft Visual Earth, c'était juste une erreur désolé. – bluestella

Répondre

0

départ this article ...

function InitMap() 
{ 
// add code to init your map.... 

// attach the onclick event... 
map.AttachEvent("onclick", MouseClick); 

} 

function MouseClick(e) 
    { 
     map.AddPushpin('pin', 
     e.view.latlong.latitude, 
     e.view.latlong.longitude, 
     88, 
     34, 
     'pin', 
     'MyPin', 
     1); 
    } 
+0

J'ai essayé mais je ne peux pas le faire. :( – bluestella

1

Voici un exemple qui ajoute un pushpin lors de l'événement OnClick de la carte, et définit Photo URL de la forme pour afficher une image dans le InfoxBox.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&mkt=en-US"></script> 
    <script type="text/javascript"> 
    var map = null; 

    function GetMap() 
    { 
     map = new VEMap("myMap"); 
     map.LoadMap(); 

     // Attach the OnClick event 
     map.AttachEvent("onclick", OnClick_Handler); 

     // You could Dettach the OnClick event like this 
     //map.DetachEvent("onclick", OnClick_Handler); 
    } 

    function OnClick_Handler(e){ 
     // "sender" is the VEMap that raised the event 
     // "e" is the VE Map Event Object 

     // Get the Lat/Long where the Mouse was clicked 
     var pushpinLocation = map.PixelToLatLong(new VEPixel(e.mapX, e.mapY)); 

     // Create the Pushpin Shape 
     var s = new VEShape(VEShapeType.Pushpin, pushpinLocation); 
     s.SetTitle("test pushpin"); 
     s.SetDescription("test description"); 

     s.SetPhotoURL("http://i.stackoverflow.com/Content/Img/stackoverflow-logo-250.png"); 

     // Plot a Shape at the Clicked location 
     map.AddShape(s); 
    } 
    </script> 
</head> 
    <body onload="GetMap();"> 
     <div id='myMap' style="position:relative; width:400px; height:400px;"></div> 
    </body> 
</html> 
+0

il a une barre de défilement verticale, merci Chris :) – bluestella

+0

Oh, maintenant c'est le cas. Ce n'était pas le cas quand je l'ai posté pour la première fois. Hmm ... Je vais supprimer ma note à ce sujet. –

+0

ehhehe .. son accord .. :) merci beaucoup .. je vais essayer dans un moment :) – bluestella

Questions connexes