javascript - 如何使用 javascript 结合地理定位和多个标记?

标签 javascript google-maps geolocation

我正在尝试创建一个能够跟踪我的位置并同时能够显示多个标记的 map 。我可以结合下面的 2 个 JavaScript 吗?如果不知道我应该怎么做?

用于多个标记的 JavaScript

<script type="text/javascript">
  var locations = [
  ['Hougang', 1.37265, 103.893658],
  ['Punggol', 1.400617, 103.907833],
  ['MacRitchie Reservoir', 1.346002, 103.825436],
  ['Bishan', 1.352051, 103.849125],
  ['Sentosa', 1.251226, 103.830757]
];

  var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: new google.maps.LatLng(1.37265, 103.893658),
      mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var infowindow = new google.maps.InfoWindow();

  var marker, i;

  for (i = 0; i < locations.length; i++) {
      marker = new google.maps.Marker({
          position: new google.maps.LatLng(locations[i][1], locations[i][2]),
          map: map
      });

      google.maps.event.addListener(marker, 'click', (function (marker, i) {
          return function () {
              infowindow.setContent(locations[i][0]);
              infowindow.open(map, marker);
          }
      })(marker, i));
  }

当前位置的 JavaScript

navigator.geolocation.getCurrentPosition(function(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
    }

最佳答案

是的,可以将两者结合起来。当您初始化 map 并绘制后港...位置后,您可以添加地理定位代码。我写了一个演示,它会为地理定位显示一个较小的绿色图标。如果浏览器不支持地理编码,则不会显示任何内容,也不会显示任何错误。

演示 http://jsfiddle.net/yV6xv/7/

请记住,如果代码是从硬盘驱动器本地加载的,则地理定位不起作用(至少对我而言)。它必须公开提供。

// Check if user support geo-location
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
        var geolocpoint = new google.maps.LatLng(latitude, longitude);

        var mapOptions = {
            zoom: 8,
            center: geolocpoint,
            mapTypeId: google.maps.MapTypeId.HYBRID
        }
        // Place a marker
        var geolocation = new google.maps.Marker({
            position: geolocpoint,
            map: map,
            title: 'Your geolocation',
            icon: 'http://labs.google.com/ridefinder/images/mm_20_green.png'
        });
    });
}

关于javascript - 如何使用 javascript 结合地理定位和多个标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932496/

相关文章:

react-native - 如何使用 HMS 模拟对华为的立场

javascript - 正则表达式替换数字之间的空格

javascript - 为什么 iPad 上的 YouTube 搜索结果与 PC 上的搜索结果不同?

javascript - 如何在 Google Maps API V3 中调用 fromLatLngToDivPixel?

javascript - 哪些设备支持通过 navigator.geolocation 进行 Javascript 地理定位?

javascript - 地理定位真的很慢我做错了什么?

javascript - iOS 应用程序无法获取与 Foursquare 相同的结果

javascript - 用javascript用逗号替换空格

ios - 将 Mapkit 设置为仅包含城市名称的位置

java - Google Maps Fragment 无法加载