2016-09-23 56 views
1

我正在重新开发在生成的街道地图图像上绘制游戏数据的脚本。目前的解决方案是在R中,但它使用的API不再有效,而且我个人对R.不熟悉。生成街道地图图像

我在寻找的是一种获取特定区域图像的方法,该图像具有经度/纬度的界限,我更熟悉一种语言,比如Ruby或Lua。我寻找一个解决方案,但Ruby包(例如Google Maps for Rails)似乎还没有完成,并且经常专注于在网页中嵌入谷歌地图。地图的确切外观并不重要,只要街道布局能被当地人识别即可。

如何自动生成这样的街道地图图像?

回答

2

最后你只需要下载相关的地图tiles。对于OSM平铺服务器,请查看slippy map tilenames。它解释了如何根据lat,lon和缩放级别来计算拼贴名称。它还包含许多用于各种编程和脚本语言的示例实现。

此外,请务必阅读您选择的瓷砖服务器的瓷砖使用政策/服务条款。

+0

谢谢。我设法使用MiniMagick和瓦片名称进行编码。不是我们之前拥有的单线解决方案,而是它的工作原理。 – Sander

0

看看这个静态地图帮手GIST:

module StaticMapHelper 

    def static_map_for(location, options = {}) 
    params = { 
     :center => [location.lat, location.lng].join(","), 
     :zoom => 15, 
     :size => "300x300", 
     :markers => [location.lat, location.lng].join(","), 
     :sensor => true, 
     :maptype => 'satellite', 
     }.merge(options) 

    query_string = params.map{|k,v| "#{k}=#{v}"}.join("&") 
    image_tag "http://maps.googleapis.com/maps/api/staticmap?#{query_string}", :alt => location.name 
    end 

end 

https://gist.github.com/mcasimir/2778938