Javascript 如何将用户输入标记添加到我网站上的GoogleMaps小部件中,并从中获取纬度和经度数据?
如何将用户输入标记添加到我网站上的GoogleMaps小部件中,并从中获取纬度和经度数据Javascript 如何将用户输入标记添加到我网站上的GoogleMaps小部件中,并从中获取纬度和经度数据?,javascript,html,google-maps,bootstrap-4,google-maps-markers,Javascript,Html,Google Maps,Bootstrap 4,Google Maps Markers,如何将用户输入标记添加到我网站上的GoogleMaps小部件中,并从中获取纬度和经度数据 现在我正在构建一个应用程序,它必须允许用户在任何位置放置一个标记,这样我就可以获取数据并对其进行处理 <script> var map; function initMap() { map = new google.maps.Map(document.getElementById('map')
现在我正在构建一个应用程序,它必须允许用户在任何位置放置一个标记,这样我就可以获取数据并对其进行处理
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: new google.maps.LatLng(2.8,-187.3),
mapTypeId: 'terrain'
});
// Create a <script> tag and set the USGS URL as the source.
var script = document.createElement('script');
// This example uses a local copy of the GeoJSON stored at
// http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.geojsonp
script.src = 'https://developers.google.com/maps/documentation/javascript/examples/json/earthquake_GeoJSONP.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
// Loop through the results array and place a marker for each
// set of coordinates.
window.eqfeed_callback = function(results) {
for (var i = 0; i < results.features.length; i++) {
var coords = results.features[i].geometry.coordinates;
var latLng = new google.maps.LatLng(coords[1],coords[0]);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
}
</script>
var映射;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:2,
中心:新google.maps.LatLng(2.8,-187.3),
mapTypeId:'地形'
});
//创建标记并将USGS URL设置为源。
var script=document.createElement('script');
//此示例使用存储在中的GeoJSON的本地副本
// http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.geojsonp
script.src=https://developers.google.com/maps/documentation/javascript/examples/json/earthquake_GeoJSONP.js';
document.getElementsByTagName('head')[0].appendChild(脚本);
}
//循环遍历结果数组,并为每个结果放置一个标记
//一组坐标。
window.eqfeed\u callback=函数(结果){
对于(var i=0;i
现在我正在使用它,但它不提供任何用户提交的标记。尝试运行它,以演示和指导用户如何在谷歌地图上放置标记。请注意,它是基于谷歌的添加和删除标记
完整的JS代码如下:
var map;
var markers = [];
function initMap() {
var haightAshbury = {
lat: 37.769,
lng: -122.446
};
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: haightAshbury,
mapTypeId: 'terrain'
});
// This event listener will call addMarker() when the map is clicked.
map.addListener('click', function(event) {
addMarker(event.latLng);
});
// Adds a marker at the center of the map.
addMarker(haightAshbury);
}
// Adds a marker to the map and push to the array.
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
}
您可以从地图的单击事件侦听器获取标记的坐标,例如:
map.addListener('click', function(event) {
console.log(event.latLng.lat());
console.log(event.latLng.lng());
addMarker(event.latLng);
});
或通过addMarker
方法:
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
console.log(marker.getPosition().lat());
console.log(marker.getPosition().lng());
markers.push(marker);
}
希望这有帮助 “允许用户删除标记”如何?通过点击地图?是的,我希望他们通过点击地图来添加一个标记