我有动态生成的标记使用gmaps.js 它的工作原理。如何通过坐标或标题选择标记?
但我想通过坐标选择标记并点击它。
我知道如何触发它,但我无法弄清楚如何在jQuery中正确选择标记或在map.markers数组中找到它?
这是我的代码:
# = require lib/gmaps
$(document).on 'ready', ->
if $('#map').length > 0
map = new GMaps(
div: "#map"
lat: 53.5500000
lng: 10.0000000
zoom: 12
)
url = "nearby_cardiologists.json" + window.location.search
$.getJSON url, (data) ->
if data and data.length > 0
firstMarker = data[0]
map.setCenter firstMarker.latitude, firstMarker.longitude
$.each data, (index, cardiologist) ->
cardiologist_info = '<p>' + '<b>' + cardiologist.title + ' ' + cardiologist.first_name + ' ' + cardiologist.last_name + '</b><br>' + cardiologist.street + ', ' + cardiologist.city
infowindow = new google.maps.InfoWindow(content: cardiologist_info)
marker = map.addMarker
lat: cardiologist.latitude
lng: cardiologist.longitude
google.maps.event.addListener marker, "click", ->
infowindow.open map, this
$("#nearby_cardiologists").on 'click', 'a', (event) ->
event.preventDefault()
cardiologist = $(this)
i = cardiologist.data('id')
marker = map.markers[0]
map.setCenter cardiologist.data('coordinates').latitude, cardiologist.data('coordinates').longitude
map.setZoom 16
else
$('#map').hide()
我的目标是点击链接,变焦+通过打开它或触发点击标记显示信息窗口
如果你向我们展示了一些你的代码,那么它会有所帮助......做你想要做的事情可能需要你自己的标记数组,然后你可以循环,比较每个标记的lat/lng与您正在搜索的纬度/经度坐标。 – duncan
我加了我的代码。 – tomekfranek