0
JQueryUJS를 사용하는 레일 앱에서 AJAX 요청을 만들어 Google지도가 중심에 위치해야하는 위도/경도 좌표를 검색하려고합니다.Google지도 센터 이전을위한 AJAX 응답
AJAX 응답은 javascript를 실행 중으로 반환하지만지도 객체를 직접 조작하지 않거나 클라이언트의 javascript 코드로 함수를 실행하는 것이 변수 또는 함수를 사용할 수 없기 때문에 작동합니다.
기존 변수를 사용할 수없는 이유는 무엇입니까? AJAX 응답을 기반으로지도를 다시 센터링 할 수있는 대안이 있습니까?
다음과 같다 함수를 호출하기 위해 시도하는 코드 :
HTML 단편 :
<form accept-charset="UTF-8" action="/venues" class="new_venue" data-remote="true" id="new_venue" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
<div id="entry-form" class="left span8">
<input class="btn btn-primary" name="find_address_button" type="submit" value="Find Address" />
<div id='map_canvas' class='map_new' data-default-zoom= 16></div>
<input class="btn btn-large btn-primary" name="commit" type="submit" value="Add Venue" />
</div>
</form>
페이지로드 JS :
(function() {
$(document).ready(function() {
var default_zoom, latitude, longitude, map, mapOptions, map_centre, moveToLocation;
moveToLocation = function(lat, lng) {
var center;
center = new google.maps.LatLng(lat, lng);
return map.panTo(center);
};
latitude = 52;
longitude = 0;
map_centre = new google.maps.LatLng(latitude, longitude);
default_zoom = $("#map_canvas").data("default-zoom");
mapOptions = {
center: map_centre,
zoom: default_zoom,
scrollwheel: false,
styles: [
{
featureType: "poi",
elementType: "labels",
stylers: [
{
visibility: "off"
}
]
}
]
};
return map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
});
}).call(this);
AJAX 응답 :
moveToLocation(-34, 150);
그래서 간단한 ... 감사합니다 - 당신을 – Richbits