2013-06-26 7 views
-1

Мне нужна помощь в этом вопросе, пожалуйста,Настройка уровня Google масштаб карты до 15

Я пытаюсь установить Google Mapувеличение уровня к , но это заставит карту не отображается полностью, а он оказывается в серой зоне

это скриншот карты, чтобы получить то, что я имею в виду

enter image description here

И это мой код ниже:

<script type="text/javascript"> 
    var geocoder; 
    var map; 
    var markersArray = []; 

    function initialize() { 
     geocoder = new google.maps.Geocoder(); 

     var zoomLevel = 6; 
     //(38.5923884129755, 31.0229229927063)39.86619, 35.44768 
     var latlng = new google.maps.LatLng(38.5923884129755, 31.0229229927063); 

     var mapOptions = { 
      zoom: zoomLevel, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 

     map = new google.maps.Map(document.getElementById('GoogleMap_Div'), mapOptions); 

     google.maps.event.addListener(map, 'click', function(event) { 
      addMarker(event.latLng); 
     }); 

     var hdnZoom = $("input[id$='hdnZoom']")[0]; 
     var hdnLocation = $("input[id$='hdnLocation']")[0]; 
     if (hdnZoom && hdnLocation) { 
      setMarker(hdnZoom.value, hdnLocation.value); 
     }    
    } 

    function setMarker(zoom, location) { 

     if (zoom && zoom != '' && location && location != '') { 

      var loc = location.split(","); 
      var latlng = new google.maps.LatLng(loc[0].substring(1), loc[1].substring(0, (loc[1].length - 1))); 
      if (latlng) { 
       addMarker(latlng) 
      } 

      map.setZoom(parseInt(zoom)); //zoom = 15 
     } 
    } 

    function addMarker(location) { 
     clearOverlays(); 

     var hdnZoom = $("input[id$='hdnZoom']")[0]; 
     if (hdnZoom) { 
      hdnZoom.value = map.getZoom(); 
     } 

     var hdnLocation = $("input[id$='hdnLocation']")[0]; 
     if (hdnLocation) { 
      hdnLocation.value = location; 
     } 

     marker = new google.maps.Marker({ 
      position: location, 
      map: map 
     }); 

     markersArray.push(marker); 
    } 

этот код отлично работает, если уровень масштабирования меньше или равна 8.

+0

похоже, что у вас есть проблема css с тем, как элементы управления картой перепутаны. – geocodezip

+0

@geocodezip, но он отлично работает в других случаях, например, когда я изменил latlng на функцию initialize() на var latlng = new google.maps.LatLng (38.5923884129755, 31.0229229927063); затем я добавил маркер на карте, используя следующий latlng latlng = new google.maps.LatLng (38.5923884129755, 31.0229229927063); все, что отлично работает, но если я установил уровень масштабирования до 15 после добавления маркера, возникла проблема. – sharp

+0

. Какое значение имеет ваш CSS и HTML? – geocodezip

ответ

0

карта не отображается полностью не вызвано уровнем масштабирования, проверьте LatLng

+0

Я изменил latlng на "initialize()" function to var latlng = new google.maps.LatLng (38.5923884129755, 31.0229229927063); затем я добавил маркер на карту, используя следующий latlng latlng = new google.maps.LatLng (38.5923884129755, 31.0229229927063); все, что работает отлично, но когда я пытаюсь установить уровень масштабирования до 15 после добавления маркера, проблема возникает – sharp

+0

, что я пытаюсь сделать, это сохранить позицию маркера, добавленного пользователем и уровень масштабирования в базе данных, чтобы добавить маркер к карте при следующем посещении страницы пользователем и настройке уровня масштабирования карты на тот же уровень, который пользователь использовал при добавлении маркера – sharp