gpt4 book ai didi

javascript - 向铁路 map 添加多个标记

转载 作者:行者123 更新时间:2023-12-01 01:32:52 24 4
gpt4 key购买 nike

我已经在 ruby​​ on Rails Web 应用程序上实现了谷歌地图。我可以很好地显示 map ,也可以很好地放置标记。我的问题是我有 2 个 JavaScript 函数可以刷新 map 并在 map 上放置标记。我希望能够保留当前 map ,并使用我的函数向 map 添加另一个标记。如何阻止我的 map 刷新以显示超过 1 个标记?

// application.js

var map;

function initMap() {
var lat=29.732585;
var lng=-95.462830;

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.732585,lng:-95.462830},
map: map
});
}

function getEmployee() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.7154,lng:-95.3893},
map: map
});
}

function getLocation() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 29.7604, lng: -95.3698},
zoom: 10.25,
});
var marker = new google.maps.Marker({
position: {lat:29.7560,lng:-95.3573},
map: map
});
}

最佳答案

调用 getEmployee()getLocation() 时,您可以通过调用 new google.maps.Map 重新创建 map 。这就是为什么您的 map 在每次调用时都会刷新。

只需从这两个函数中删除重新创建的 map 即可。您可以在 initMap() 调用上创建一个映射,并将其存储在全局变量 map 中,因此可以在 getEmployee()getLocation() 您在其中创建标记。

关于javascript - 向铁路 map 添加多个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com