由于某些原因,在我正在开发的一个网站上,"旧金山"正在路易斯安那州的谷歌地理图可视化中放置一个标记。我甚至试着把它改成"加利福尼亚州旧金山",甚至"美国加利福尼亚州旧金山",它还在路易斯安那州策划。
您可以在此处看到错误的标记:http://galmeetsglam.com/travel/
我的部分代码:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Slug');
data.addColumn('string', 'City');
data.addColumn('number', 'Value');
data.addColumn({type: 'string', role: 'tooltip', p:{html:true}});
/* Locations */
data.addRows([
['london', 'London', 1, '<h1 class="tooltip-h1">London</h1>'],
['london', 'London', 1, '<h1 class="tooltip-h1">London</h1>'],
['new-york-city', 'New York City', 1, '<h1 class="tooltip-h1">New York City</h1>'],
['san-francisco-2', 'San Francisco', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
['san-francisco-2', 'San Francisco', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
]);
奇怪的是,其他城市的规划也不错(伦敦和纽约)。不知道SF为什么这么古怪。
有什么想法吗?
不确定为什么要使用san-francisco-2
,但应该将San Francisco
用作第二列,或者给出iso代码:US-CA
。因此:
data.addRows([
['london', 'London', 1, '<h1 class="tooltip-h1">London</h1>'],
['london', 'London', 1, '<h1 class="tooltip-h1">London</h1>'],
['new-york-city', 'New York City', 1, '<h1 class="tooltip-h1">New York City</h1>'],
['San Francisco', 'San Francisco', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
['San Francisco', 'San Francisco', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
]);
在Google可视化API论坛中找到了答案。
基本上,GeoChart使用第一个元素进行地理编码。我首先使用了我的类蛞蝓(我将其用于同位素的过滤机制)。
因此,如果我将数据重新排列为:
var data = new google.visualization.DataTable();
data.addColumn('string', 'City');
data.addColumn('string', 'Slug');
data.addColumn('number', 'Value');
data.addColumn({type: 'string', role: 'tooltip', p:{html:true}});
/* Locations */
data.addRows([
['London', 'london', 1, '<h1 class="tooltip-h1">London</h1>'],
['London', 'london', 1, '<h1 class="tooltip-h1">London</h1>'],
['New York City', 'new-york-city', 1, '<h1 class="tooltip-h1">New York City</h1>'],
['San Francisco', 'san-francisco-2', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
['San Francisco', 'san-francisco-2', 1, '<h1 class="tooltip-h1">San Francisco</h1>'],
]);
它工作得很好。我只是为未来有同样问题的访客回答这个问题。