Javascript 使用有效的邮政编码更改标记的位置

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

我有以下要求,并尝试使用jQUery实现这一点:

  • 获取当前位置并在google地图中显示标记
  • 现在使用有效的邮政编码更改位置
  • 我可以显示当前位置,但不确定如何使用有效的邮政编码进行更改,有人可以建议吗

    代码如下:

    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');
          }
        });
    
      }