Javascript 使用有效的邮政编码更改标记的位置
我有以下要求,并尝试使用jQUery实现这一点:Javascript 使用有效的邮政编码更改标记的位置,javascript,jquery,html,google-maps,Javascript,Jquery,Html,Google Maps,我有以下要求,并尝试使用jQUery实现这一点: 获取当前位置并在google地图中显示标记 现在使用有效的邮政编码更改位置 我可以显示当前位置,但不确定如何使用有效的邮政编码进行更改,有人可以建议吗 代码如下: var映射,信息窗口; 函数initMap(){ map=new google.maps.map(document.getElementById('map'){ 中心:{纬度:-34.397,液化天然气:150.644}, 缩放:6 }); infoWindow=新建google.m
var映射,信息窗口;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{纬度:-34.397,液化天然气:150.644},
缩放:6
});
infoWindow=新建google.maps.infoWindow;
//试试HTML5地理定位。
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var pos={
纬度:位置坐标纬度,
lng:position.coords.longitude
};
信息窗口。设置位置(pos);
infoWindow.setContent('找到位置');
打开(地图);
地图设置中心(pos);
},函数(){
handleLocationError(true,infoWindow,map.getCenter());
});
}否则{
//浏览器不支持地理位置
handleLocationError(false,infoWindow,map.getCenter());
}
}
功能手柄位置错误(浏览器具有地理位置、信息窗口、pos){
信息窗口。设置位置(pos);
infoWindow.setContent(browserHasGeolocation?
“错误:地理位置服务失败。”:
'错误:您的浏览器不支持地理位置。');
打开(地图);
}
//如果需要实际处理显示,请调用此命令
函数代码地址(zipCode){
geocoder.geocode({'address':zipCode},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
//得到结果后,将地图居中并放在那里
map.setCenter(结果[0].geometry.location);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。几何体。位置
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
$(“输入”).keyup(函数(){
警报(“输入有效的邮政编码”);
});代码>
.greybg{
背景色:#e1e1;
}
怀特先生{
背景色:#fff;
}
#地图{
身高:100%;
最小高度:400px;
宽度:100%;
}
获取当前位置并设置标记
<script>
function initmap(){
navigator.geolocation.getCurrentPosition(currentLocation);
}
function currentLocation (position){
var uluru = {lat: position.coords.latitude, lng: position.coords.longitude};
map = new google.maps.Map(document.getElementById('map'), {
zoom:10,
center: uluru
});
marker = new google.maps.Marker({
position: uluru,
map:map
})
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD7g2FDEEEv1iAzha8xDJUvM1rN0yhaRgU&callback=initmap">
</script>
</script>
非常感谢你的回答,它在我寻找的过程中工作得非常完美
<p>Please enter your zip:</p>
<input id="zip" type="text" name="zip">
<input type="button" value="search" onclick="loadMapByZip()">
var map, marker, geocoder;
function loadMapByZip(){
var lat = "";
var lng= "";
var zip = $("#zip").val();
geocoder = new google.maps.Geocoder();
geocoder.geocode({'address':zip}, function(result, status) {
if (status == google.maps.GeocoderStatus.OK) {
lat = result[0].geometry.location.lat();
lng = result[0].geometry.location.lng();
var center = new google.maps.LatLng(lat, lng);
map.panTo(center);
marker.setPosition(center);
} else {
alert('invalid zip code');
}
});
}