私はcakephpとjavascriptで働いています。シナリオは次のとおりです。マップ アイコンをクリックすると、Google マップを表示する jquery 関数が呼び出されます。現在、JavaScript を使用して、ユーザーはドラッグして Google マップの現在のマーカー位置を変更できます。値もビューに設定されます。しかし、コントローラーでこれらの値(緯度、経度)にアクセスするにはどうすればよいですか? セッション変数で緯度と経度を設定したいのですが、JavaScriptでセッション変数を設定できず、コントローラーで使用できません。以下は私のコードです:
function initialize() {
var latLng = new google.maps.LatLng(lat,long);
var map = new google.maps.Map(document.getElementById('mapCanvas'), {
zoom:8,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latLng,
title: 'Point A',
map: map,
draggable: true
});
// Update current position info.
//alert(" initilize");
updateMarkerPosition(latLng);
geocodePosition(latLng);
// Add dragging event listeners.
google.maps.event.addListener(marker, 'dragstart', function() {
//updateMarkerAddress('Dragging...');
// alert("dragStart"+marker.getPosition()); // access this value in controller
});
google.maps.event.addListener(marker, 'drag', function() {
// updateMarkerStatus('Dragging...');
updateMarkerPosition(marker.getPosition());
alert(marker.getPosition()); // access this value in controller
});
google.maps.event.addListener(marker, 'dragend', function() {
// updateMarkerStatus('Drag ended');
geocodePosition(marker.getPosition());
alert(marker.getPosition()); // access this value in controller
});
}
コントローラーで:
public function map()
{
//access lat, long here
}
それ、どうやったら出来るの?