Bing Maps - как связать канцелярскую кнопку со ссылкой вне карты - PullRequest
2 голосов
/ 30 июня 2009

У меня есть виртуальные карты Земли (Bing Maps ??), к которым я добавил набор кнопок. Каждая метка имеет маркировку от 1 до n. Помимо добавления кнопок на карту, я также добавляю на веб-страницу текст, содержащий описание каждой кнопки.

Я хотел бы добавить ссылку на текст вне карты, чтобы при нажатии на нее открывался всплывающий подсказок, связанный с соответствующей меткой.

Как открыть всплывающее окно, связанное с канцелярской кнопкой, по ссылке, существующей вне карты?

Чтобы лучше понять, посмотрите на мою карту: ссылка . Когда вы нажимаете кнопку «Загрузить», PushPins добавляются на карту. Я хотел бы иметь ссылку из списка справа от карты, которая открывает соответствующий PushPin.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 01 июля 2009

Вот простой пример добавления некоторых фигур на карту с помощью Bing Maps и отображения «Заголовка» каждой формы в списке рядом с картой. Затем, когда пользователь наводит указатель мыши на каждый элемент в списке, он открывает информационный блок для этой фигуры на карте.

<!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://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script>
      <style type="text/css">
        #ShapeList div
        {
            padding: 4px;
            border: solid 1px black;
        }
      </style>
      <script type="text/javascript">
      var map = null;

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

         // Add some Shapes to the Map with item in list next to map
         var latlong = map.GetCenter();
         AddShape("Test Pushpin", latlong);
         AddShape("Another Pushpin", new VELatLong(latlong.Latitude + 2, latlong.Longitude));
         AddShape("Still Another Pushpin", new VELatLong(latlong.Latitude - 2, latlong.Longitude));
     }

     function AddShape(title, latlong) {
         // Create Pushpin Shape
         var s = new VEShape(VEShapeType.Pushpin, latlong);
         s.SetTitle(title);

         // Add Shape to Map
         map.AddShape(s);

         // Display Item in List Next to Map
         var elem = document.createElement("div");
         elem.innerHTML = title;
         document.getElementById("ShapeList").appendChild(elem);

         var shapeID = s.GetID();
         elem.attachEvent("onmouseover", function() { ShowInfoBoxByShapeID(shapeID); });
         elem.attachEvent("onmouseout", function() { map.HideInfoBox(); });
     }

     function ShowInfoBoxByShapeID(shapeID) {
         var shape = map.GetShapeByID(shapeID);
         map.ShowInfoBox(shape);
     }

      </script>
   </head>
   <body onload="GetMap();">
      <div id="ShapeList" style="float: left">
      </div>
      <div id='myMap' style="position:relative; width:400px; height:400px;"></div>
   </body>
</html>
0 голосов
/ 03 мая 2010

Как насчет отображения информации во всплывающем окне с помощью карт Silverlight Bing?

...