我正在尝试制作一个小应用程序,它接收城市和州信息,并将该地址地理编码为纬度/经度位置。目前我正在利用Google Map的API、ColdFusion和SQL Server。基本上,城市和州字段在数据库表中,我想获取这些位置并在Google Map上放置标记以显示它们的位置。
以下是我的地理编码代码,查看页面源代码显示它正确地循环查询并将位置(“奥马哈,内布拉斯加州”)放入地址字段,但没有标记或地图出现在页面上:
以下是我的地理编码代码,查看页面源代码显示它正确地循环查询并将位置(“奥马哈,内布拉斯加州”)放入地址字段,但没有标记或地图出现在页面上:
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);
}
我已经有一个使用硬编码到数据库表中的纬度/经度的地图,但我想能够只使用城市/州并将其转换为纬度/经度。有任何建议或方向吗?在数据库中存储纬度/经度也是可能的,但我不知道如何在SQL中实现。