Я видел, как это сделано здесь: http://www.somebody4u.com/Profile/LiveКак добавить круг радиуса в Bing Maps?
, но я не могу найти способ сделать это с API (AJAX).
Я видел, как это сделано здесь: http://www.somebody4u.com/Profile/LiveКак добавить круг радиуса в Bing Maps?
, но я не могу найти способ сделать это с API (AJAX).
Bing Maps V7 не включает метод ничьей.
Окружность должна быть «аппроксимирована» путем рисования нескольких небольших сегментов.
var key = .....; // API access key
var MM = Microsoft.Maps;
var R = 6371; // earth's mean radius in km
var map = new Microsoft.Maps.Map(this.element[0], {credentials: key, disableKeyboardInput: true});
var radius = ...; //radius of the circle
var latitude = ...; //latitude of the circle center
var longitude = ...; //longitude of the circle center
var backgroundColor = new Microsoft.Maps.Color(10, 100, 0, 0);
var borderColor = new Microsoft.Maps.Color(150, 200, 0, 0);
var lat = (latitude * Math.PI)/180;
var lon = (longitude * Math.PI)/180;
var d = parseFloat(radius)/R;
var circlePoints = new Array();
for (x = 0; x <= 360; x += 5) {
var p2 = new MM.Location(0, 0);
brng = x * Math.PI/180;
p2.latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(brng));
p2.longitude = ((lon + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(lat),
Math.cos(d) - Math.sin(lat) * Math.sin(p2.latitude))) * 180)/Math.PI;
p2.latitude = (p2.latitude * 180)/Math.PI;
circlePoints.push(p2);
}
var polygon = new MM.Polygon(circlePoints, { fillColor: backgroundColor, strokeColor: borderColor, strokeThickness: 1 });
map.entities.push(polygon);
Отлично! Большое спасибо. –
4 других, что земля здесь: Бинг карты v8 круг ответ может быть получен отсюда: [Бинг форум MSDN ответ] (https://social.msdn.microsoft.com/Forums/en-US/bd041bbd- b4be-40b6-ae68-8b48aba83b64/how-to-create-precision-circle-in-bing-map-v8? forum = bingmapsajax) – RyBolt