Javascript 谷歌地图点击事件移动标记
我正在使用谷歌地图从用户那里获取坐标,拖动标记可以很好地工作,但我需要通过单击事件来更改它。我试着用“点击”代替“拖动” 这不起作用 我的代码是Javascript 谷歌地图点击事件移动标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在使用谷歌地图从用户那里获取坐标,拖动标记可以很好地工作,但我需要通过单击事件来更改它。我试着用“点击”代替“拖动” 这不起作用 我的代码是 var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>); var map = new google.maps.Map(document.getElementById('map'), { center: latlng, zoom: 5,
var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'move and pin exact point of your property',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(a) {
var result = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
$('#loc').val(result);
});
var latlng=new google.maps.latlng();
var map=new google.maps.map(document.getElementById('map'){
中心:拉特林,
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:“移动并固定您财产的确切位置”,
德拉格布尔:是的
});
google.maps.event.addListener(标记'dragend',函数(a){
var result=a.latLng.lat().toFixed(4)+','+a.latLng.lng().toFixed(4);
$('#loc').val(结果);
});
我从DB接收第一个标记位置。用户可以通过移动标记改变位置,我得到更新后的结果写入数据库。拖动正在工作,但“单击”不起作用。感谢您的帮助
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
找到了解决方案
<script>
$(document).ready(function() {
var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'move and pin exact point of your property',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(a) {
var sonuc1 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
$('#loc').val(sonuc1);
});
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'move and pin exact point of your property'
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
var sonuc2 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4);
$('#loc').val(sonuc2);
});
});
$("#il").change(function() {
var val = $('#il option:selected').val();
var sonuc3 = (val);
$('#sonucx').html(sonuc3);
var mappos = document.getElementById("il").options[document.getElementById("il").selectedIndex].getAttribute('latLng');
var latlngStr = mappos.split(',', 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'pin exact point of your property',
draggable: true
});
var sonuc4 = lat + "," + lng;
$('#loc').val(sonuc4);
google.maps.event.addListener(marker, 'dragend', function(a) {
var sonuc6 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
$('#loc').val(sonuc6);
});
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'move and pin exact point of your property'
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
var sonuc5 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4);
$('#loc').val(sonuc5);
});
});
</script>
$(文档).ready(函数(){
var latlng=new google.maps.latlng();
var map=new google.maps.map(document.getElementById('map'){
中心:拉特林,
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:“移动并固定您财产的确切位置”,
德拉格布尔:是的
});
google.maps.event.addListener(标记'dragend',函数(a){
var sonuc1=a.latLng.lat().toFixed(4)+','+a.latLng.lng().toFixed(4);
$('loc').val(sonuc1);
});
功能位置标记(位置){
如果(标记){
标记器。设置位置(位置);
}否则{
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
标题:“移动并固定您物业的确切位置”
});
}
}
google.maps.event.addListener(映射,'click',函数(事件){
地点标记(事件标记);
var sonuc2=event.latLng.lat().toFixed(4)+','+event.latLng.lng().toFixed(4);
$('loc').val(sonuc2);
});
});
$(“#il”).change(函数(){
var val=$(“#il选项:已选定”).val();
var sonuc3=(val);
$('#sonucx').html(sonuc3);
var mappos=document.getElementById(“il”).options[document.getElementById(“il”).selectedIndex].getAttribute(“latLng”);
var latlngStr=mappos.split(',',2);
var lat=parseFloat(latlngStr[0]);
var lng=parseFloat(latlngStr[1]);
var latlng=新的google.maps.latlng(lat,lng);
var map=new google.maps.map(document.getElementById('map'){
中心:拉特林,
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:“您的财产的确切位置”,
德拉格布尔:是的
});
var sonuc4=lat+“,”+lng;
$('loc').val(sonuc4);
google.maps.event.addListener(标记'dragend',函数(a){
var sonuc6=a.latLng.lat().toFixed(4)+','+a.latLng.lng().toFixed(4);
$('loc').val(sonuc6);
});
功能位置标记(位置){
如果(标记){
标记器。设置位置(位置);
}否则{
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
标题:“移动并固定您物业的确切位置”
});
}
}
google.maps.event.addListener(映射,'click',函数(事件){
地点标记(事件标记);
var sonuc5=event.latLng.lat().toFixed(4)+','+event.latLng.lng().toFixed(4);
$('loc').val(sonuc5);
});
});
发布的代码中没有单击侦听器。
<script>
$(document).ready(function() {
var latlng = new google.maps.LatLng(<?php echo $villa['loc']; ?>);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'move and pin exact point of your property',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(a) {
var sonuc1 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
$('#loc').val(sonuc1);
});
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'move and pin exact point of your property'
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
var sonuc2 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4);
$('#loc').val(sonuc2);
});
});
$("#il").change(function() {
var val = $('#il option:selected').val();
var sonuc3 = (val);
$('#sonucx').html(sonuc3);
var mappos = document.getElementById("il").options[document.getElementById("il").selectedIndex].getAttribute('latLng');
var latlngStr = mappos.split(',', 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'pin exact point of your property',
draggable: true
});
var sonuc4 = lat + "," + lng;
$('#loc').val(sonuc4);
google.maps.event.addListener(marker, 'dragend', function(a) {
var sonuc6 = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
$('#loc').val(sonuc6);
});
function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'move and pin exact point of your property'
});
}
}
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
var sonuc5 = event.latLng.lat().toFixed(4) + ', ' + event.latLng.lng().toFixed(4);
$('#loc').val(sonuc5);
});
});
</script>