Показать сообщение отдельно
  #1 (permalink)  
Старый 27.07.2017, 04:11
Новичок на форуме
Отправить личное сообщение для bananamen Посмотреть профиль Найти все сообщения от bananamen
 
Регистрация: 25.07.2017
Сообщений: 6

помогите с кодом пожалуйста ....
var map, circle, circleOptions, setCenter, marker;

function initialize() {
    var myLatlng = new google.maps.LatLng(56.0671925, 92.9288858); //Kiev
    var myOptions = {
        zoom: 9,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("my_map"), myOptions);
    
    setCenter = true;
    
    circleOptions = {
        fillColor:"#00AAFF",
        fillOpacity:0.5,
        strokeColor:"#FFAA00",
        strokeOpacity:0.8,
        strokeWeight:2,
        clickable:false
    }

    google.maps.event.addListener(map, 'click', function(event) {
        if (setCenter) {
            if (marker != undefined) {
                marker.setMap(null);
            }
			marker = new google.maps.Marker({
				position:event.latLng,
				clickable:false
			});
			marker.setMap(map);
            circleOptions.center = event.latLng;
            setCenter = false;
        }
        else {
            //рассчитываем расстояние между точками
            var radius = distHaversine(circleOptions.center, event.latLng)
            circleOptions.radius = radius*1000;
            if (circle != undefined) {
                circle.setMap(null);
            }
            circle = new google.maps.Circle(circleOptions);
            circle.setMap(map);
            setCenter = true;
        }
    });
}
  
function loadScript() {
    var script = document.createElement("script");
    script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize";
    document.body.appendChild(script);
}

//http://stackoverflow.com/questions/1502590/calculate-distance-between-two-points-in-google-maps-v3
rad = function(x) {return x*Math.PI/180;}

distHaversine = function(p1, p2) {
    var R = 6371; // earth's mean radius in km
    var dLat  = rad(p2.lat() - p1.lat());
    var dLong = rad(p2.lng() - p1.lng());
    
    var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
            Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * Math.sin(dLong/2) * Math.sin(dLong/2);
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    var d = R * c;
    
    return d.toFixed(3);
	
	
	
	
	
	
	
	
	
	
}

window.onload = loadScript;


Это код радиуса на карте...
проблема в получении переменной circleOptions.center , делаю ajax запрос из файла map.php и полный ноль.... Если ставлю в запросе получить переменную circleOptions.radius , то все нормально она приходит.Они мне обе нужны. Я так понимаю , опшенцентр где-то пропадает к концу скрипта...Делал алерт напротив самой переменной она задается при первом клике по карте. Как в таком случае ее можно выдернуть ?
Ответить с цитированием