从Firebase检索谷歌地图圈子的位置数据

时间:2015-11-18 04:49:19

标签: javascript google-maps-api-3 firebase

所以我遇到了这个问题,谷歌地图Javascript API无法解释位置数据(纬度,经度和半径(圆圈标记))。我已成功从Firebase检索数据(警报测试),但谷歌地图似乎存在问题。我的朋友说,由于存储在Firebase中的数据是在字符串中,但不是因为我已经通过减去/乘以及其他数学的东西来测试它。

google.maps.LatLng

1 个答案:

答案 0 :(得分:0)

如果您的地图上只有一个圆圈,则可以移除citymap变量,您的代码可以简化:

// retrieve the data necessary for a single circle
function retrieve() {
    var messagesRef = new Firebase("https://glaring-torch-4299.firebaseio.com/");
    messagesRef.once('child_added', function (snapshot) {
        var data = snapshot.val();
        var lat = data.latitude;
        var lng = data.longitude;
        var rad = data.radius;
        initMap(lat, lng, rad);
    });
}

function initMap(lat, lng, radius) {
    // Create the map.
    var latLng = new google.maps.LatLng(lat, lng);
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 8,
        center: latLng
    });
    // create the circle
    var circle = new google.maps.Circle({
        strokeColor: '#FF0000',
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: '#FF0000',
        fillOpacity: 0.35,
        map: map,
        center: {
            lat: lat,
            lng: lng
        },
        radius: parseFloat(radius)
    });
}

proof of concept fiddle