从googlemap / openstreetmap获取地点和地址到csv

时间:2015-08-19 04:14:33

标签: csv google-maps-api-3

我的目标是从附近的搜索查询中检索所有地点名称及其地址,并将它们放入csv或xls文件中。

我不是程序员,我只是浏览googlemap api中提供的代码。我已经运行了下面的代码并且已经很好了,因为这可以查询附近的所有地方。但是,我希望结果不是标记,而是文本或可下载的具有人类可读数据的xls / csv文件。怎么做?要改变什么?



var map;
var infowindow;

function initMap() {
  var pyrmont = {lat: -33.867, lng: 151.195};

  map = new google.maps.Map(document.getElementById('map'), {
    center: pyrmont,
    zoom: 15
  });

  infowindow = new google.maps.InfoWindow();

  var service = new google.maps.places.PlacesService(map);
  service.nearbySearch({
    location: pyrmont,
    radius: 500,
    types: ['store']
  }, callback);
}

function callback(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      createMarker(results[i]);
    }
  }
}

function createMarker(place) {
  var placeLoc = place.geometry.location;
  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(place.name);
    infowindow.open(map, this);
  });
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

请确保您想要达到的目标不是Google Maps/Google Earth APIs Terms of Service

  

10.1.3对复制或数据导出的限制。

     

(a)未经授权复制,修改,衍生作品的创作或内容的显示。除非这些条款明确允许,否则您不得复制,翻译,修改或创建衍生作品(包括创建或贡献数据库),或公开展示任何内容或其任何部分。例如,禁止以下内容:(i)创建地图图块的服务器端修改; (ii)将多个静态地图图像拼接在一起,以显示大于Maps API文档中允许的地图; (iii)根据内容创建邮件列表或电话营销列表;或(iv)将内容出口,书写或保存到第三方的基于位置的平台或服务。

     

(b)没有预先获取,缓存或存储内容。您不得预先获取,缓存或存储任何内容,但您可以存储以下内容:(i)有限数量的内容,以便在您暂时(以下情况下)暂时提高Maps API实施的效果时超过30个日历日,安全,并且不允许在服务之外使用内容; (ii)Maps API文档特别允许您存储的任何内容标识符或密钥。例如,您不得使用内容来创建“地点”或其他本地列表信息的独立数据库。