Google maps api 3 谷歌地图、融合表和地理定位

Google maps api 3 谷歌地图、融合表和地理定位,google-maps-api-3,google-fusion-tables,Google Maps Api 3,Google Fusion Tables,我在将ST_距离中的变量设置为变量而不是数字时遇到问题。我的目标是按到客户端的距离对fusion表条目进行排序,并且只显示最接近的3个条目 (同时,我希望窗口缩小并包含这些点,以及指向客户所在位置的点。任何指向某些资源的提示或链接都将不胜感激) 以下是谷歌地图、融合表和地理位置代码: <script type="text/javascript"> (function() { if(!!navigator.geolocation) { var

我在将ST_距离中的变量设置为变量而不是数字时遇到问题。我的目标是按到客户端的距离对fusion表条目进行排序,并且只显示最接近的3个条目

(同时,我希望窗口缩小并包含这些点,以及指向客户所在位置的点。任何指向某些资源的提示或链接都将不胜感激)

以下是谷歌地图、融合表和地理位置代码:

<script type="text/javascript">
(function() {   
    if(!!navigator.geolocation) {       
        var map;
        var mapOptions = {
            zoom: 15,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
        };          
        navigator.geolocation.getCurrentPosition(function(position) {           
            var geolocate = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            map.setCenter(geolocate);           
        });
        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions)

        layer = new google.maps.FusionTablesLayer({
            map: map,
            heatmap: { enabled: false },
            query: {
                select: "col1",
                from: "1JaRXQJ_YJch5Ua6cfZCBpaUEKRnd2jIcHVmcODY",
                orderBy: 'ST_DISTANCE(col1, LATLNG("geolocate"))',
                limit: 3,
                where: ""
            },
            options: {
                styleId: 2,
                templateId: 2
            }
        });

    } else {
    map = new google.maps.Map(document.getElementById('map-canvas'), {
            center: new google.maps.LatLng(39.918487877955485, -98.30599773437501),
            zoom: 15,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });     
        layer = new google.maps.FusionTablesLayer({
            map: map,
            heatmap: { enabled: false },
            query: {
                select: "col1",
                from: "1JaRXQJ_YJch5Ua6cfZCBpaUEKRnd2jIcHVmcODY",
                where: ""
            },
            options: {
                styleId: 2,
                templateId: 2
            }

        });     
    }

})();
google.maps.event.addDomListener(window, 'load', initialize);
</script>
进入以下位置:

var layer = new google.maps.FusionTablesLayer({
    query: {
        select: 'Address',
        from: '15UY2pgiz8sRkq37p2TaJd64U7M_2HDVqHT3Quw',
        orderBy: 'ST_DISTANCE(Address, LATLNG(37.4,-122.1))',
        limit: 3
}

非常感谢您的帮助。

这只是一个基本的javascript问题

使地理定位全球化,如var地图

var map;
var geolocate;
删除现有地理位置前面的var

orderBy: 'ST_DISTANCE(col1, LATLNG(' + geolocate + ') )',
然后删除关于您使用地理定位的引号

orderBy: 'ST_DISTANCE(col1, LATLNG(' + geolocate + ') )',

非常感谢。这帮了大忙。现在的问题是,试图添加更多的功能,却又造成了另一个烂摊子,所有这些都被破坏了