我在我的rails应用程序中使用Gmaps4Rails gem,所以我只是想知道它是否可以搜索一个地方(我不想传递坐标但是例如国家名称),所以我需要smth如下图所示:
答案 0 :(得分:1)
请参阅文档:https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Model-Customization
如果您正在进行基于模型的查找,则可以在gmaps4rails_address等字段中输入您的地址。在你的情况下,这将只是国家。
你可以有一个名为gmaps的布尔字段并将其设置为false,表示地址(国家/地区)尚未进行地理编码。一旦进行了地理编码,就会对其进行地理编码。 long将自动存储在相应的模型字段中,并且gmaps布尔值将自动设置为true,以便不再对地址进行地理编码。
更新1:
在回复您的评论时,您的问题会产生误导。你说你想传递一个国家的名字,我的解决方案就是这个名称(例如gmaps4rails_address字段可以包含'德国')。但听起来你正在寻找的是一张地图,勾勒出该国家的边界,这意味着你无法使用谷歌地图api(它不会这样做)。所以这个宝石(或任何谷歌地图宝石)不会帮助你。
您需要使用类似Google Geomap javascript api的内容。这不能与常规谷歌地图结合使用。 Geomap api将为您提供包含国家大纲的flash地图。
从文档(https://developers.google.com/chart/interactive/docs/gallery/geomap):
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load('visualization', '1', {'packages': ['geomap']});
google.setOnLoadCallback(drawMap);
function drawMap() {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['RU', 700]
]);
var options = {};
options['dataMode'] = 'regions';
var container = document.getElementById('map_canvas');
var geomap = new google.visualization.GeoMap(container);
geomap.draw(data, options);
};
</script>
</head>
<body>
<div id='map_canvas'></div>
</body>