2014-10-31 2 views
1

У меня есть карта с собственным набором данных, поэтому она загружает дополнительную информацию из внешнего API, заполняя пользовательскую карту google.API Google Map API - поиск автозаполнения на текущей карте

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

Так с эта функция, выход правильно:

London 51.5073509 -0.12775829999998223 6 

Мой вопрос - Запрос есть, как я могу получить следующее:

console.log(defaultArea + ' ' + defaultLat + ' ' + defaultLng + ' ' + defaultZoom); 

В текущей карте.

Я пробовал - все еще не работает.

google.maps.event.addDomListener(window, 'load', searchFunct); 

Текущий Jquery:

var defaultLat = 54 
defaultLng = -4, 
defaultZoom = 6, 
defaultArea = null; 

function searchFunct() { 
    var input = document.getElementById('location'); 
    var options = { 
     types: ['(regions)'], 
     componentRestrictions: { 
      country: 'uk' 
     } 
    }; 

    var autocomplete = new google.maps.places.Autocomplete(input, options); 

    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var place = autocomplete.getPlace(); 
     document.getElementById('city2').value = place.name; 
     document.getElementById('cityLat').value = place.geometry.location.lat(); 
     document.getElementById('cityLng').value = place.geometry.location.lng(); 

     var citi = document.getElementById('city2').value; 
     var lati = document.getElementById('cityLat').value; 
     var longi = document.getElementById('cityLng').value; 

     defaultArea = citi; 
     defaultLat = lati; 
     defaultLng = longi; 
     defaultZoom = 6; 

     console.log(defaultArea + ' ' + defaultLat + ' ' + defaultLng + ' ' + defaultZoom); 

    }); 
} 
+0

Где код для вашей карты? – geocodezip

ответ

1

Добавьте следующий под console.log

ВЦСПС я сделал есть объявить переменную, определяющую вашу latitude и longitude в Google Map переменную google.maps.LatLng. Во-вторых, объявлен объект myOptions, чтобы определить, где выполняется вход. Наконец, зарисуйте все на map_canvas и добавьте туда маркер.

var latlng = new google.maps.LatLng(defaultLat, defaultLng); 
var myOptions = { 
    zoom: 11, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title: 'Main map' 
}); 
Смежные вопросы