ユーザーは、場所検索ボックスを使用して登録フォーム上で自分の位置を選択する必要があります。
私はドラッグ可能なマーカーが必要なので、私は正確な緯度と経度が必要です。
私はPlunker
のような成功witouth様々な組み合わせすでにしようとしました提供:ドラッグ可能なプッシュマーカー(場所検索ボックス)からlatとlngを取得
google.maps.event.addListener(markers, 'dragend', function (event) {
document.getElementById("lat").value = event.latLng.lat();
document.getElementById("lng").value = event.latLng.lng();
$('#lat').val(event.latLng.lat()) ;
$('#lng').val(event.latLng.lng()) ;
});
緯度LNGボックスはドラッグに更新されません。リスナーは無視されます。
編集追加情報:「マーカー」は作成したマーカーの変数です。
#lat、#lngは、非表示の入力フィールドのIDです。
EDIT2:私は、この問題のために必要なコードでplunkerから私の全体のコードを片付け:
var inputradius = document.getElementById('myRange');
function initAutocomplete() {
var CenterToCountry = {lat: 50.9725, lng: 11.4804};
var map = new google.maps.Map(document.getElementById('map'), {
center: CenterToCountry,
zoom: 6,
mapTypeId: 'roadmap',
streetViewControl: false,
mapTypeControl: false
});
var input = document.getElementById('pac-input');
var searchBox = new google.maps.places.SearchBox(input);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
map.addListener('bounds_changed', function() {
searchBox.setBounds(map.getBounds());
});
var markers = [];
searchBox.addListener('places_changed', function() {
var places = searchBox.getPlaces();
if (places.length === 0) {
return;
}
markers.forEach(function(marker) {
marker.setMap(null);
});
markers = [];
var bounds = new google.maps.LatLngBounds();
places.forEach(function(place) {
if (!place.geometry) {
console.log("Returned place contains no geometry");
return;
}
markers.push(new google.maps.Marker({
map: map,
title: place.name,
draggable:true,
position: place.geometry.location
}));
var location = place.geometry.location;
var lat = location.lat();
var lng = location.lng();
document.getElementById("lat").value = lat;
document.getElementById("lng").value = lng;
if (place.geometry.viewport) {
bounds.union(place.geometry.viewport);
} else {
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
});
});
google.maps.event.addListener(markers, 'dragend', function() {
var lat = markers.getPosition().lat();
var lng = markers.getPosition().lng();
$('#lat').val(lat);
$('#lng').val(lng);
});
}
をお楽しみください。 '? – geocodezip
@geocodezipよろしくお願いします。それは私のマーカーのためのvarです。マーカの代わりにマーカを使用するIm; D。 – delato468
必要な情報は**自分自身で** **外部サイトへのリンクではありません。 – geocodezip