Карты Bing — увеличение массива латов и длин

У меня есть два массива местоположений GPS: lats[] и longs[]. Я использую эти массивы для размещения кнопок на карте. Я хотел бы увеличить область канцелярских кнопок после их размещения. Пожалуйста, помогите мне с кодом, чтобы сделать это. Благодарю вас.

function LoadPushPins() 
 {

   var icon = new VECustomIconSpecification();

   for (var i = 0; i < lats.length; i++) 
    {
     var pp = new VEShape(VEShapeType.Pushpin, new VELatLong(lats[i],longs[i]));

     pp.SetDescription(theaddress[i]);
     pp.SetTitle(descs[i]);
     icon.Image = theicon[i];
     pp.SetCustomIcon(icon);
     map.AddShape(pp);
     }

   }

person user3137195    schedule 26.12.2013    source источник


Ответы (3)


Bing предоставляет способ добиться наилучшего просмотра (местоположения и масштабирования) для группы канцелярских кнопок.

var arrPushPinsLocations = [];

//Create array of locations using the longitude and latitude of yours pushpins.
arrPushPinsLocations.push(new Microsoft.Maps.Location(longitude, latitude));

//Create location rectangle object from arrPishPunsLocations and set the best view.  
map.setView({ bounds: Microsoft.Maps.LocationRect.fromLocations(arrPushPinsLocations)});

Одно исключение: для работы LocationRect должен содержать как минимум две точки местоположения. Обходной путь — добавить еще одно виртуальное местоположение, которое находится точно рядом с вашим реальным местоположением. например: Реальный: (54.000000, 54.0000000) Виртуальный: (54.000001, 54.0000001)

person Alexander Gorelik    schedule 05.01.2014

Я заметил, что вы используете старую версию Bing Maps v6.3. Я настоятельно рекомендую перейти на более мощную версию Bing Maps v7. Это также то, на чем основан код других. Если вы планируете остаться на v6.3 (не рекомендуется), вы можете делать то, что хотите, вычисляя лучший центр и уровень масштабирования для вашего массива координат, а затем передавая это в метод SetCenterAndZoom карты. Вот старая запись в блоге о том, как рассчитать эти значения: http://rbrundritt.wordpress.com/2009/07/21/determining-best-map-view-for-an-array-of-местоположения/

Обратите внимание, что документации для версии 6.3 больше нет в сети, примите это как намек на ее будущее. Руководство по переходу на v7 можно найти здесь: http://social.technet.microsoft.com/wiki/contents/articles/20958.migrating-bing-maps-v6-3-to-v7.aspx

person rbrundritt    schedule 14.01.2014

Вы можете использовать метод setView карты Bing.

Вы можете заменить свои собственные значения широты и долготы.

var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),{credentials:"Your Bing Map Credentials"}); 
map.setView({center:new Microsoft.Maps.Location(<latitude>, <longitude>), zoom: 9} );
person Mahesh Sapkal    schedule 27.12.2013