Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图api拖放针_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图api拖放针

Javascript 谷歌地图api拖放针,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想添加拖放谷歌Api。我已经做了一张地图,但我不知道如何使它可以是一个拖放。在那里,我想让我的纬度和经度是自动填写,当我放下引脚 以下是我的看法: 纬度: 经度 下面是我的脚本: 函数initMap(){ var map=new google.maps.map(document.getElementById('map'){ 中心:{lat:-7.0157404,lng:110.4171283}, 缩放:12 }); 变量输入=/**@type{!HTMLInputElement}*/( d

我想添加拖放谷歌Api。我已经做了一张地图,但我不知道如何使它可以是一个拖放。在那里,我想让我的纬度和经度是自动填写,当我放下引脚

以下是我的看法:

纬度:
经度
下面是我的脚本:


函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
中心:{lat:-7.0157404,lng:110.4171283},
缩放:12
});
变量输入=/**@type{!HTMLInputElement}*/(
document.getElementById('pac-input');
var types=document.getElementById('type-selector');
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
map.controls[google.maps.ControlPosition.TOP\u LEFT].push(类型);
var autocomplete=new google.maps.places.autocomplete(输入);
autocomplete.bindTo('bounds',map);
var infowindow=new google.maps.infowindow();
var marker=new google.maps.marker({
地图:地图,
主播点:新google.maps.Point(0,-29)
});
autocomplete.addListener('place\u changed',function(){
infowindow.close();
marker.setVisible(假);
var place=autocomplete.getPlace();
如果(!place.geometry){
警告(“自动完成的返回位置不包含几何体”);
返回;
}
//如果该地点有几何图形,则将其显示在地图上。
if(place.geometry.viewport){
map.fitBounds(place.geometry.viewport);
}否则{
地图。设置中心(地点。几何。位置);
map.setZoom(17);//为什么是17?因为它看起来不错。
}
marker.setIcon(/**@type{google.maps.Icon}*/({
网址:'http://maps.google.com/mapfiles/ms/icons/red.png',
大小:新谷歌地图大小(71,71),
来源:新google.maps.Point(0,0),
主播:新google.maps.Point(17,34),
scaledSize:新的google.maps.Size(35,35)
}));
标记器.设置位置(位置.几何.位置);
marker.setVisible(true);
var地址=“”;
if(位置、地址和组件){
地址=[
(place.address_components[0]&&place.address_components[0]。简称| | |“”),
(place.address_components[1]&&place.address_components[1]。简称| | |“”),
(place.address_components[2]&&place.address_components[2]。简称| |“”)
].加入(“”);
}
var latitude=place.geometry.location.lat();
var longitude=place.geometry.location.lng();
$(“输入[名称=坐标]”).val(地址);
$(“输入[名称=纬度]”).val(纬度);
$(“输入[名称=经度]”).val(经度);
infowindow.setContent(“”+place.name+”
“+地址); 信息窗口。打开(地图、标记); }); //在单选按钮上设置侦听器以更改位置上的筛选器类型 //自动完成。 功能设置ClickListener(id、类型){ var radioButton=document.getElementById(id); radioButton.addEventListener('单击',函数()){ 自动完成。设置类型(类型); }); } setupClickListener('changetype-all',[]); setupClickListener('changetype-address',['address']); setupClickListener('changetype-Establish',['Establish']); setupClickListener('changetype-geocode',['geocode']); }

当我拖动管脚时,它会自动更改点
纬度
经度

为了创建标记,您应该使用以下代码:

Marker m = mMap.addMarker(new MarkerOptions()
            .position(new LatLng(12, 12))
            .title("title")
            .snippet("snippet"));
然后,要使其可拖动,只需添加以下内容:

   Marker m = mMap.addMarker(new MarkerOptions()
                .position(new LatLng(12, 12))
                .title("title")
                .snippet("snippet")
                .draggable(true));

通过使
draggable
为true,可以将标记从一个地方拖到另一个地方

要创建标记,应使用以下代码:

Marker m = mMap.addMarker(new MarkerOptions()
            .position(new LatLng(12, 12))
            .title("title")
            .snippet("snippet"));
然后,要使其可拖动,只需添加以下内容:

   Marker m = mMap.addMarker(new MarkerOptions()
                .position(new LatLng(12, 12))
                .title("title")
                .snippet("snippet")
                .draggable(true));
通过使
draggable
为true,可以将标记从一个地方拖到另一个地方

  • 使标记可拖动:
  • 为更新纬度和经度的dragend事件添加侦听器:
  • 代码片段:

    函数initMap(){
    var map=new google.maps.map(document.getElementById('map'){
    中心:{
    lat:-7.0157404,
    液化天然气:110.4171283
    },
    缩放:12
    });
    变量输入=/**@type{!HTMLInputElement}*/(
    document.getElementById('pac-input');
    var types=document.getElementById('type-selector');
    map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
    map.controls[google.maps.ControlPosition.TOP\u LEFT].push(类型);
    var autocomplete=new google.maps.places.autocomplete(输入);
    autocomplete.bindTo('bounds',map);
    var infowindow=new google.maps.infowindow();
    var marker=new google.maps.marker({
    地图:地图,
    主播点:新google.maps.Point(0,-29),
    德拉格布尔:是的
    });
    google.maps.event.addListener(标记'dragend',function(){
    document.getElementsByName('latitude')[0].value=marker.getPosition().lat();
    document.getElementsByName('longitude')[0]。value=marker.getPosition().lng();
    })
    自动完成