Наложение круга в Google Map V3 API js - PullRequest
1 голос
/ 10 октября 2011

Я пытаюсь вставить этот круг на карту Google, карта отображается нормально, включая следующий файл js в заголовок:

/**
       * Called on the intiial page load.
       */
      function initialize() {
        var latLng = new google.maps.LatLng(50.272213,-5.054973);
        var options = {
          'zoom': 9,
          'center': latLng,
          'mapTypeId': google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById('map'),
            options);

      }

      // Register an event listener to fire when the page finishes loading.
      google.maps.event.addDomListener(window, 'load', initialize);

Но когда я добавляю следующее, чтобы включить круг, он разрываетсяи не загружается;

 /**
       * Called on the intiial page load.
       */
      function initialize() {
        var latLng = new google.maps.LatLng(50.272213,-5.054973);
        var options = {
          'zoom': 9,
          'center': latLng,
          'mapTypeId': google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById('map'),
            options);

        // Add a Circle overlay to the map.
            var circle = new google.maps.Circle({
            map: map,
            center: new google.maps.LatLng(50.272213,-5.054973),
            fillColor: #00FF00,
            fillOpacity: 0.2,
            strokeColor: #00FF00,
            strokeOpacity: 0.4,
            strokeWeight: 2
            });
            circle.setRadius(18362.55489862987);

      }

      // Register an event listener to fire when the page finishes loading.
      google.maps.event.addDomListener(window, 'load', initialize);

Если кто-то может указать, где я иду не так, пожалуйста ...

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Не вызывайте setRadius, просто укажите радиус в качестве параметра параметров круга.Также, учитывая, что у вас уже есть объект latlng, созданный с такими же координатами, что и центр круга, просто используйте его повторно.

 var circle = new google.maps.Circle({
            map: map,
            center: latLng,
            fillColor: #00FF00,
            fillOpacity: 0.2,
            strokeColor: #00FF00,
            strokeOpacity: 0.4,
            strokeWeight: 2,
            radius: 18362.55489862987
 });
0 голосов
/ 10 октября 2011

Попробуйте изменить код слушателя на:

google.maps.event.addDomListener(window, 'onload', initialize()); 

Вот рабочий пример: http://jsfiddle.net/pVh3b/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...