Javascript 谷歌地图api拖放针
我想添加拖放谷歌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
纬度:
经度
下面是我的脚本:
函数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,可以将标记从一个地方拖到另一个地方
函数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();
})
自动完成