在地图上绘制当前位置

时间:2015-07-02 18:47:22

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

我正在尝试在gmap上绘制用户的当前位置。我认为我的代码接近正确,但我遗漏了一些东西:

的.js

Meteor.startup(function() {
  GoogleMaps.load();
});

Template.map.helpers({
  mapOptions: function() {
    if (GoogleMaps.loaded()) {
      return {
        center: new google.maps.LatLng(42.7000, 23.3333),
        zoom: 8
      };
    }
  }
});

Template.map.onCreated(function() {
  GoogleMaps.ready('map', function(map) {

    var initialLocation;
    var browserSupportFlag = new Boolean();

    // Try W3C Geolocation (Preffered)
    if (navigator.geolocation) {
      browserSupportFlag = true;
      navigator.geolocation.getCurrentPosition(function(position) {
        initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
        map.setCenter(initialLocation);
      }, function() {
        handleNoGeolocation(browserSupportFlag);
      });
    }
    // Browser doesn't support Geolocation
    else {
      browserSupportFlag = false;
      handleNoGeolocation(browserSupportFlag);
    }

  })
})

html的

<template name="map">
  <div class="map-container">
    {{> googleMap name="map" options=mapOptions}}
  </div>
  <div class="container">
    <div class="search">
      <input id="search" type="text">
    </div>
  </div>
</template>

正在显示地图,我看到地理定位器已打开,但当前位置未居中且没有标记。有什么想法吗?

0 个答案:

没有答案