我在phonegap中有一个android应用程序,它是一个谷歌地图,它显示我的当前位置,我的位置上有一个可拖动的标记,还有一个显示我的纬度和经度的infoWindow。
var map;
var marker;
var infowindowPhoto = new google.maps.InfoWindow();
var latPosition;
var longPosition;
function initialize() {
var mapOptions = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(10,10)
};
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
initializeMarker();
}
function initializeMarker() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
latPosition = position.coords.latitude;
longPosition = position.coords.longitude;
marker = new google.maps.Marker({
position: pos,
draggable: true,
animation: google.maps.Animation.DROP,
map: map
});
map.setCenter(pos);
updatePosition();
google.maps.event.addListener(marker, 'click', function (event) {
updatePosition();
});
google.maps.event.addListener(marker, 'dragend', function (event) {
updatePosition();
});
});
}
}
function updatePosition() {
latPosition = marker.getPosition().lat();
longPosition = marker.getPosition().lng();
contentString = '<div id="iwContent">Lat: <span id="latbox">' + latPosition + '</span><br />Lng: <span id="lngbox">' + longPosition + '</span></div>';
infowindowPhoto.setContent(contentString);
infowindowPhoto.open(map, marker);
}
initialize();
http://jsfiddle.net/upsidown/d3toa81m/
我的问题是,我想在信息窗口中显示我的地址,而不是纬度和经度。我找到了这个教程https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse。我不想添加这个教程的问题:
<input id="latlng" type="text" value="40.714224,-73.961452">
<input type="button" value="Reverse Geocode" onclick="codeLatLng()">
如果我不添加这个,函数"codeLatLng()"就不起作用。我该怎么做才能在信息窗口中显示我的地址。
您正在从谷歌地图中获取网格坐标。一旦你得到了网格,你有没有试过使用curl来废弃城市和州的谷歌地图?我也要做同样的事了,祝你好运。