我目前已啓用用戶將地址放入文本框並在Google地圖上顯示地址,但我現在要做的是相反的處理,框(位於獨立區域,同一頁面上)與可拖動標記相對應。我聽說我應該使用PHP或PL/JSON的JSON從地圖到文本框中獲取數據。但是,我對JSON沒有任何瞭解,我認爲Google地圖API在JavaScript內部提供了這種地理編碼方法。我不確定如何完全應用它,並且如果可以在一個頁面中同時使用這兩種方法(或者我應該在JavaScript中使用一些過程並在頁面上調用它,但不確定)。這是到目前爲止我的代碼在頁面的HTML頭:Oracle Apex中的反向地理編碼(來自可拖動標記)
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript">
var uniLatLng = new google.maps.LatLng (51.887496, -2.088788);
var geocoder = new google.maps.Geocoder();
var map;
function geocodePosition(pos) {
geocoder.geocode({
latLng: pos
},
function(responses) {
if (responses && responses.length > 0) {
updateMarkerAddress(responses[0].formatted_address);
}
else {
updateMarkerAddress('Cannot determine address at this location.');
}
});
}
function updateMarkerStatus(str) {
document.getElementById('P15_ADDRESS').value;
}
function initialize() {
geocoder = new google.maps.Geocoder();
var mapOptions = {
zoom: 16,
center: uniLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
};
var marker = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
flat: false,
position: new google.maps.LatLng(59.327383, 18.06747)
})
function map_canvas() {
var address = "&P15_ADDRESS.";
geocoder.geocode({ 'address': address, 'region': "GB"}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
flat: false,
position: results[0].geometry.location
});
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
頁HTML身體屬性 - 的onload = 「初始化(),map_canvas提供()」
任何建議,我怎麼能做到這一點?
是的我同意,但它並不像apex那麼簡單,我大致可以使用html和JavaScript來完成,但是將頂點區域中的值從Google map傳遞到特定文本字段(P20_ADDRESS,P20_POST_CODE等)需要更多。目前,我正在執行將通過(PL/SQL和JavaScript位)調用的過程(SQL + JavaScript)來顯示標記並將值傳遞給變量,並將變量轉換爲特定的文本字段(PL/SQL)。這是我的計劃將會看到它將如何工作;) – UZIERSKI