【问题标题】:how to generate a marker for each value in a table (google maps API v3)如何为表中的每个值生成标记(谷歌地图 API v3)
【发布时间】:2015-09-23 21:55:09
【问题描述】:

基本上我需要为表中的每个值运行一个函数。也许一些循环或什么?我是 jQuery 和 javascript 的新手。我想在地图画布上为我存储在表格中的每个 latlng 显示一个标记。我该怎么做?

谢谢

【问题讨论】:

    标签: javascript jquery google-maps-api-3 google-maps-markers


    【解决方案1】:

    您想要得到的是一个包含标记的纬度和经度的对象数组,然后您可以遍历对象数组并将标记添加到地图中。您可能还希望地图缩放以适​​合标记。这在Google Maps documentation 中称为“边界”。 JSFiddle Example

    var map;
    var mapOptions = {
        center: {lat: 51.5048835, lng: 0.1101221},
        zoom: 12
    };
    var markers = [
        {lat: 51.5048835, lng: -0.1101221},
        {lat: 51.5053532, lng: -0.1085023,},
        {lat: 51.5072948, lng: -0.103489}
    ];
    
    function initialize() {
        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
        addMarkers();
    }
    
    google.maps.event.addDomListener(window, 'load', initialize);
    
    function addMarkers() {
        var bounds = new google.maps.LatLngBounds();
    
        for (var i = 0; i < markers.length; i++) {
            var latLng = new google.maps.LatLng(markers[i].lat, markers[i].lng);
            markers[i] = new google.maps.Marker({
                position: latLng,
                map: map,
                title: 'Hello World!'
            });
    
            bounds.extend(markers[i].getPosition());
            map.fitBounds(bounds);
        }
    }
    

    【讨论】:

    • 好的,谢谢,但我的 latlngs 存储在表格中,而不是在“变量标记”下
    • @Mr.Liam 您需要将数据库表中的标记输出为 json。您使用什么数据库和后端语言?
    • 我正在通过 json 对坐标进行字符串化。我会将 db 查询放在 var 标记中?
    • @Mr.Liam 您可以将您的 json 放入标记数组并根据需要对其进行格式化。您能否提供您正在使用的数据样本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2014-03-05
    • 2012-04-29
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多