ฉันพยายามอย่างมากที่จะหาตัวอย่างง่ายๆในการเพิ่มเครื่องหมายลงใน Google Map เมื่อผู้ใช้คลิกซ้ายบนแผนที่
ฉันได้มองไปรอบ ๆ ในช่วงสองสามชั่วโมงที่ผ่านมาและอ่านเอกสารประกอบของ Google Maps API และจะขอบคุณสำหรับความช่วยเหลือ!
ฉันพยายามอย่างมากที่จะหาตัวอย่างง่ายๆในการเพิ่มเครื่องหมายลงใน Google Map เมื่อผู้ใช้คลิกซ้ายบนแผนที่
ฉันได้มองไปรอบ ๆ ในช่วงสองสามชั่วโมงที่ผ่านมาและอ่านเอกสารประกอบของ Google Maps API และจะขอบคุณสำหรับความช่วยเหลือ!
คำตอบ:
หลังจากค้นคว้าเพิ่มเติมฉันก็หาวิธีแก้ปัญหาได้
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
function placeMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
}
ในปี 2560 การแก้ปัญหาคือ:
map.addListener('click', function(e) {
placeMarker(e.latLng, map);
});
function placeMarker(position, map) {
var marker = new google.maps.Marker({
position: position,
map: map
});
map.panTo(position);
}
นี่เป็นคุณสมบัติที่บันทึกไว้และสามารถพบได้ที่นี่
// This event listener calls addMarker() when the map is clicked.
google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
});
function placeMarker(position, map) {
var marker = new google.maps.Marker({
position: position,
map: map
});
map.panTo(position);
}
@ Chaibi Alaa เพื่อให้ผู้ใช้สามารถเพิ่มได้เพียงครั้งเดียวและย้ายเครื่องหมาย คุณสามารถตั้งค่าเครื่องหมายในคลิกแรกจากนั้นเพียงแค่เปลี่ยนตำแหน่งในการคลิกครั้งต่อไป
var marker;
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
function placeMarker(location) {
if (marker == null)
{
marker = new google.maps.Marker({
position: location,
map: map
});
}
else
{
marker.setPosition(location);
}
}
ขณะนี้วิธีการเพิ่มผู้ฟังลงในแผนที่จะเป็น
map.addListener('click', function(e) {
placeMarker(e.latLng, map);
});
และไม่
google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
});
this.marker = new google.maps.Marker({
position: new google.maps.LatLng(12.924640523603115,77.61965398949724),
map: map
});
this.placeMarker(coordinates, this.map);
placeMarker(location, map) {
var marker = new google.maps.Marker({
position: location,
map: map
});
this.markersArray.push(marker);
}