使用Javascript将推针添加到地图

时间:2009-04-16 14:19:26

标签: javascript virtual-earth

如何通过点击鼠标放置引脚?鉴于这是代码:

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

指向中心..

您是否知道如何将图像添加到图钉悬停?

2 个答案:

答案 0 :(得分:1)

这是一个在Map的OnClick事件期间添加图钉的示例,并设置Shape的Photo URL以在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>

答案 1 :(得分:0)

查看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);  
    }