Я пытаюсь сделать небольшое приложение, которое берет город и штат и геокоды, которые обращаются к широте / долготе.Сейчас я использую Google Map API, ColdFusion и SQL Server.В основном поля города и штата находятся в таблице базы данных, и я хочу взять эти местоположения и поставить маркер на карту Google, показывающую, где они находятся.
Это мой код для геокодирования, и просмотр исходного кода страницы показывает, что он правильно просматривает мой запрос и размещает местоположение («Омаха, NE») в поле адреса, но без маркераили карта в этом отношении отображается на странице:
function codeAddress() {
<cfloop query="GetLocations">
var address = document.getElementById(<cfoutput>#Trim(hometown)#,#Trim(state)#</cfoutput>).value;
if (geocoder) {
geocoder.geocode( {<cfoutput>#Trim(hometown)#,#Trim(state)#</cfoutput>: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title: <cfoutput>#Trim(hometown)#,#Trim(state)#</cfoutput>
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</cfloop> }
А вот код для инициализации карты:
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(42.4167,-90.4290);
var myOptions = {
zoom: 5,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: "Test"
});
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
У меня есть работающая карта, которая используетlat / long, который был жестко закодирован в таблицу базы данных, но я хочу иметь возможность просто использовать город / штат и преобразовать его в lat / long.Любые предложения или направления?Сохранение lat / long в базе данных также возможно, но я не знаю, как это сделать в SQL.