【问题标题】:Showing visitors locations in Google Maps via JS通过 JS 在 Google 地图中显示访客位置
【发布时间】:2014-04-25 20:24:43
【问题描述】:

所以,我有一个显示地图和我的位置的 JavaScript 代码。它还应用了一些额外的设置。我的问题是,查看以下 JS 代码,并在此处使用 GoogleMaps API:http://maps.googleapis.com/maps/api/js?sensor=false,有没有办法在此地图上显示访问者的位置?

我正在尝试构建虚拟站点视图 GeoLocator。这显示了我所有网站查看者的位置。或者,也许网上有一个插件。

var map;
function initialize() {
    var options =
{
    zoom: 2,
    center: new google.maps.LatLng(geoip_latitude(), geoip_longitude()),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: true,
    mapTypeControlOptions:
    {
        style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
        poistion: google.maps.ControlPosition.TOP_RIGHT,
        mapTypeIds: [google.maps.MapTypeId.ROADMAP,
          google.maps.MapTypeId.TERRAIN,
          google.maps.MapTypeId.HYBRID,
          google.maps.MapTypeId.SATELLITE]
    },
    navigationControl: true,
    navigationControlOptions:
    {
        style: google.maps.NavigationControlStyle.ZOOM_PAN
    },
    scaleControl: true,
    disableDoubleClickZoom: true,
    draggable: true,
    streetViewControl: true,
    draggableCursor: 'move'
};
            map = new google.maps.Map(document.getElementById("map"), options);
            // Add Marker and Listener
            var latlng = new google.maps.LatLng(geoip_latitude(), geoip_longitude());
            var marker = new google.maps.Marker
(
    {
        position: latlng,
        map: map,
        title: 'Click me'
    }
);
var infowindow = new google.maps.InfoWindow({
    content: 'You Are Here'
});
google.maps.event.addListener(marker, 'click', function () {
    // Calling the open method of the infoWindow 
    infowindow.open(map, marker);
});
}

【问题讨论】:

  • “显示访问者位置”是什么意思?
  • @Hamza Kubba :显示每个访问过该网站的访问者的红色小“光点”。
  • 好的...那么访问者的坐标是否可用于此脚本?如果是,您只需遍历它们(for 循环)并为每一个创建一个新的 google.maps.Marker()、一个新的 google.maps.InfoWindow() 和一个新的事件侦听器。
  • 我实际上不知道如何使访问者坐标可用于查看地图,也许每次查看者查看页面时,它都会跟踪他们的IP并将其保存到Db?然后,将它们显示在地图上?
  • 嗯,这是可能的......你需要一个服务器来发送这个信息(你必须在观众访问的页面上设置),它会找到他们的 IP 并查找他们的IP 数据库上的 long/lat,如果该 IP 是已知的(该信息并不总是存在并且不一定准确,如果它是)。然后你需要有一个接口,从这个数据库中获取 long/lat 值,并用标记将它们显示在地图上,正如我在之前的评论中描述的那样。

标签: javascript google-maps


【解决方案1】:

嗯,这是可能的......您需要一个服务器来发送这些信息(您必须在观众访问的页面上设置),它会找到他们的 IP 并在一个IP 数据库,如果该 IP 是已知的(该信息并不总是存在并且不一定准确,如果它是)。然后你需要有一个接口,从这个数据库中获取长/纬度值,并用标记将它们显示在地图上,正如我在评论中描述的那样。

当然,您也可以只使用 Google Analytics (google.com/analytics),所有这些都为您完成。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多