如何将我的谷歌地图集中在geoip返回的城市变量上?

时间:2014-01-20 21:44:58

标签: javascript google-maps geoip

  var geocoder;
  var map;
      var MapCenter, map, x, y, z;

function geocode(address, callback) {
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      var city=geoip2.city();
      map.setCenter(results[0].geometry.location);
      map.fitBounds(results[0].geometry.bounds);
      callback();
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });
}


  function initialize() {
      geocoder = new google.maps.Geocoder();
      var city=geoip2.city();
      var mapOptions = {
          zoom: 1,

      }
      map = new google.maps.Map(document.getElementById('map'), mapOptions);



geocode(city, function () {
  MapCenter = map.getCenter();
  x = MapCenter.lat(), y = MapCenter.lng(), window.z = 0;
  myLatLng=new google.maps.LatLng(x,y);


  }

这就是我所拥有的。正如您所看到的,函数geocode将城市作为参数。唯一的问题是在哪里宣布这个城市变量。正如您所看到的,我已尝试在地理编码函数定义和初始化函数中执行此操作。两者都以不确定的结果结束。我应该在哪里声明这个,以便我的地理编码功能运行没有错误?

好的,经过进一步调查,我认为我有更大的问题。出于某种原因,甚至geoip样本也返回未定义的值。例如,此页面上的示例:http://dev.maxmind.com/geoip/legacy/javascript/。如果您查看www.supercuber.com并单击查看源,您可以看到我添加了他们的示例但javascript无法正常工作。我不知道为什么会这样。

0 个答案:

没有答案