谷歌地图和反向地理编码使用html5API
google maps and reverse geocoding using html5API?
为什么这样做:
function initCoords() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(initialize, locationError);
} else {
showError("Your browser does not support Geolocation!");
}
}
initCoords();
function locationError(){
alert('"Your browser does not support Geolocation!"');
}
function initialize(position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
var acc = position.coords.accuracy;
geocoder = new google.maps.Geocoder();
// Debugging
console.log(position.coords);
console.log("Accuracy: "+acc+"'nLatitude: "+lat+"'nLongitude: "+lon);
var latlng = new google.maps.LatLng(lat,lon);
// Google Maps API
var myLatlng = new google.maps.LatLng(lat,lon);
var mapOptions = {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
function codeLatLng(position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
var latlng = new google.maps.LatLng(lat, lon);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
marker = new google.maps.Marker({
position: latlng,
map: map
});
infowindow.setContent(results[1].formatted_address);
infowindow.open(map, marker);
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
codeLatLng();
总是返回这个:
Uncaught TypeError: Cannot read property 'coords' of undefined
在这条线上:
function codeLatLng(position) {
lat = position.coords.latitude;
enter code here
它给我看的是地图,而不是带有地址的标记。。。我也尝试过:codeLatLng(位置);
渲染谷歌地图后,我将对CodeLatLng()的调用移动到Initialize()函数中,并将位置参数传递给它。请参阅上面的评论。
<html>
<head>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
function initCoords() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(initialize, locationError);
} else {
showError("Your browser does not support Geolocation!");
}
}
initCoords();
function locationError(){
alert('"Your browser does not support Geolocation!"');
}
function initialize(position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
var acc = position.coords.accuracy;
geocoder = new google.maps.Geocoder();
// Debugging
console.log(position.coords);
console.log("Accuracy: "+acc+"'nLatitude: "+lat+"'nLongitude: "+lon);
var latlng = new google.maps.LatLng(lat,lon);
// Google Maps API
var myLatlng = new google.maps.LatLng(lat,lon);
var mapOptions = {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
codeLatLng( position );
}
function codeLatLng(position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
var latlng = new google.maps.LatLng(lat, lon);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
marker = new google.maps.Marker({
position: latlng,
map: map
});
infowindow.setContent(results[1].formatted_address);
infowindow.open(map, marker);
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
</script>
</head>
<body onload="">
<div id="map_canvas" style="width: 400px; height: 400px;"></div>
</body>
</html>
相关文章:
- 将地理编码结果转换为php变量以发布到mysql数据库
- Json在完整日历中对数据进行了编码
- 如何对每个用户每天只允许单击一次的按钮进行编码
- Javascript字符集编码
- 如何在javascript转换编码中将一个动态值从一个表单添加到另一个页面
- base64编码的图像比intranet中的常规图像好吗
- 我不知道我的编码有什么问题.(JavaScript)
- 为什么字符编码对URL很重要
- 如何在做PHP时在base64中动态编码;preg_ replace”;
- 如何将JSON编码的PHP数组发送到同一页面上的数据表
- 如何使Jquery编码的动态下拉菜单与PHP GET变量协调工作
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- 以HTML文件中的编码形式脱机存储图像
- 从Base64 Ionic编码和解码图像
- 错误编码的Adsense广告正在扼杀我的网站's的性能
- 如何在JS中编码URL并在PHP中解码
- 使用php在html中搜索硬编码的JavaScript变量
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- Wordpress最佳实践编码/精简模板
- 谷歌地图和反向地理编码使用html5API