当前位置: 首页 > 知识库问答 >
问题:

在当前窗口中限制Instagram API在基于radius的谷歌地图上的帖子

楚昊明
2023-03-14

所以我有下面的代码,这是一个Node.js应用程序的前端,它拉出带有特定标签的Instagram帖子。现在它在世界各地发布。有没有办法限制柱子上的半径,如果可能的话,限制到用户当前可见的窗口?我在使用Instagram实时标签订阅。

function initialize() {

    var styles = [{
        "featureType": "landscape",
            "stylers": [{
            "color": "#808080"
        }, {
            "visibility": "simplified"
        }]
    }, {
        "featureType": "administrative",
            "elementType": "labels.text.fill",
            "stylers": [{
            "weight": 0.1
        }, {
            "lightness": 100
        }, {
            "visibility": "off"
        }]
    }, {}];

    var mapOptions = {
        center: new google.maps.LatLng(32.71533, -117.15726),
        zoom: 4,
        scrollwheel: false,
        scaleControl: true,
        styles: styles
    };
    var map = new google.maps.Map(document.getElementById("map-canvas"),
    mapOptions);

    var socket = io.connect();
    socket.on('photo', function (data) {
        var icon = {
            url: data.img, // url
            size: new google.maps.Size(80, 80), // size
        };
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(data.lat, data.long),
            draggable: true,
            animation: google.maps.Animation.DROP,
            icon: icon,
            map: map,
            title: data.caption
        });
    });

    // Try HTML5 geolocation
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

            map.setCenter(pos);
        }, function () {
            handleNoGeolocation(true);
        });
    } else {
        // Browser doesn't support Geolocation
        handleNoGeolocation(false);
    }
}

function handleNoGeolocation(errorFlag) {
    if (errorFlag) {
        var content = 'Error: The Geolocation service failed.';
    } else {
        var content = 'Error: Your browser doesn\'t support geolocation.';
    }

    var options = {
        map: map,
        position: new google.maps.LatLng(60, 105),
        content: content
    };

    var infowindow = new google.maps.InfoWindow(options);
    map.setCenter(options.position);
}

// Finally, call map
google.maps.event.addDomListener(window, 'load', initialize);

共有1个答案

云和硕
2023-03-14

据我所知,没有办法将endpoint(即地理位置和标签)合并到一个搜索中。我认为你有两个选择,这两个选择都是相当劳动密集型的,这取决于标签/S的受欢迎程度,以及你的地理半径。我有兴趣看到更多关于这一点的意见。

  • 保留您的实时标记订阅
  • 手动处理结果,根据每张照片提供的位置信息进行筛选

来自Doc的示例:

...
"location": {
    "latitude": 37.780885099999999,`
    "id": "514276",
    "longitude": -122.3948632,
    "name": "Instagram"
}
...
    null
    null
  • 创建实时地理订阅
  • 手动处理结果,根据每张照片提供的标记信息进行筛选

来自Doc的示例

...
        "tags": ["expobar"],
...

优点:

    null
    null

创建地理订阅非常类似于标签订阅,所以不需要太多时间来修补您已经拥有的内容。正如您所猜测的,您只需要使用javascript库来获取用户lat/经度

 类似资料:
  • 我想为谷歌地图上的每个标记创建一个自己的窗口。我尝试了这个: 不幸的是,只有第二个标记有一个包含的窗口。如果我单击第一个标记,那么带有的第二个标记的窗口就会弹出。我不明白为什么会发生这种情况。 我注意到,如果我为第二个标记和第二个窗口使用一个新变量,每个标记都有自己的窗口,如下所示: 但我完全不明白为什么我需要使用新的变量。为什么我不能覆盖旧的变量? 注意:这个问题是关于如何获取多个不同的info

  • 升级到NativeScript6后,在iOS上点击谷歌地图上的标记以显示相关信息窗口,应用程序就会崩溃。这是由于_layoutrootview被删除-请参见https://github.com/dapriett/nativescript-google-maps-sdk/issues/354 问题是没有提供任何替代方案,google-maps-sdk插件最近也没有任何活动。 按照@manoj的指示,

  • 我正在尝试自定义信息窗口,并在加载地图时显示它。自定义信息窗口出现了,但是,除了默认的信息窗口背景(白色)之外,我还没有为出现的标记设置图标?为什么我会得到这个默认值? 以下是我尝试的内容的屏幕截图: 我不想要白色窗口和标记图标?我正在尝试实现以下截图:如何使用Android map API v2创建自定义形状的位图标记 以下是我正在尝试的:

  • 我想创建一个谷歌地图标记列表,这些标记填充关于这些特定位置的信息窗口,并在信息窗口内链接到维基百科关于该位置的文章。我在这个单击函数中进行Ajax调用,并且这个函数在一个

  • 我有以下代码可以将本机谷歌地图应用加载到我的项目中: 是否有任何限制或先决条件,我应该知道 因为它可以在我的笔记本电脑模拟器上工作,但不能在PC模拟器上工作 我只加载本机谷歌地图应用程序,它应该可以在任何模拟器上运行<我在这里错过了什么吗?? 我得到空白黑屏和logcat错误是: 04-16 16:20:06.051:D/PhoneWindow(841):无法保存哪个视图具有焦点,因为焦点视图已关