Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 , то все нормально она приходит.Они мне обе нужны. Я так понимаю , опшенцентр где-то пропадает к концу скрипта...Делал алерт напротив самой переменной она задается при первом клике по карте. Как в таком случае ее можно выдернуть ?
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2017, 08:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от bananamen
делаю ajax
может ajax поставить в строку 40?
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2017, 13:53
Новичок на форуме
Отправить личное сообщение для bananamen Посмотреть профиль Найти все сообщения от bananamen
 
Регистрация: 25.07.2017
Сообщений: 6

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

Сообщение от рони Посмотреть сообщение
может ajax поставить в строку 40?
если делаю в 40 , то скрипт перестает работать. ставится метка центра, а вот вторая метка радиуса перестает ставиться....
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2017, 14:48
Новичок на форуме
Отправить личное сообщение для bananamen Посмотреть профиль Найти все сообщения от bananamen
 
Регистрация: 25.07.2017
Сообщений: 6

в 47 строку поставил

window.y = circleOptions.center;
		
	alert(y );




в самом конце вывожу запрос
function set_mode_view(id)
{
    $.ajax({
        url:'map.php',
		type: "post",
        data:{test:y},
        success:function(data){
            $('#test_value').text(data);
        }
    });
}



алерт работает и выводит координаты вида 56.767566 97.7665454 то что мне и нужно, но вот запросом никак не хочет ....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста!!! igrovik Общие вопросы Javascript 40 10.04.2018 13:53
Помогите пожалуйста разобраться с кодом javascript xxxfff Общие вопросы Javascript 5 11.11.2015 20:18
Пожалуйста помогите решить задачу на java alex01rus1991 Элементы интерфейса 9 27.11.2012 01:02
Помогите пожалуйста с тестом alex-chrono Общие вопросы Javascript 0 14.11.2012 19:23
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31