2011-09-26 3 views
2

Я пытаюсь изменить радиус круга, изменив значение комбинированного меню. Поэтому я написал функцию forchange, как показано ниже.Как изменить радиус круга вокруг маркера в API Карт Google

function changeRadius(){ 
     var selectedRadius = (document.getElementById("circle_radius").value)*1000; 

     var circle = new google.maps.Circle({ 
       map: map, 
       radius: selectedRadius // radius unit is meter. 
      }); 

     var marker2 = new google.maps.Marker({ 
       map: map, 
       position: new google.maps.LatLng(40,-90), 
       draggable: true, 
       title: 'Drag me!' 
      }); 

     circle1.bindTo('center', marker2, 'position'); 

    } 

Но это не работает. Есть идеи?

+1

Документация google maps api не указывает никакой функции bindTo() для круга, это ваша собственная функция, что она делает? – slawekwin

+0

Этот вопрос является дубликатом https://stackoverflow.com/questions/15095118/interactive-circle-in-google-map-which-changes-on-changing-radius, и ответ, который вы хотите, находится здесь: https://stackoverflow.com/a/15095490/1290746 – kris

ответ

4

Вы должны сделать что-то вроде этого:

google.maps.event.addDomListener(
    document.getElementById('circle_radius'), 'change', function() { 
     circle.setRadius(document.getElementById('circle_radius').value) 
    }); 

с помощью этой функции вы будете настроить функцию в качестве слушателя для события изменения значения circle_radius комбо. Функция будет обновлять радиус вашего круга со значением комбо.

Смежные вопросы