通过使用Fusion Table Layer平移和缩放以显示查询结果
Pan and zoom to display the query results by using Fusion Table Layer
我是Fusion表层的初学者。我想在这里显示查询结果(平移和缩放):https://developers.google.com/fusiontables/docs/samples/search_and_zoom,但我不能用AND子句为我的函数做这件事:
函数changeMap(){
var dzialka = document.getElementById('dzialka').value;
var symbol = document.getElementById('symbol').value;
var where = '';
if (dzialka) {
dzialka = dzialka.replace(/'/g, '''''');
where = "'NUMER' CONTAINS IGNORING CASE '" +
dzialka + "'";
}
if (symbol) {
if (dzialka) {
where += ' AND ';
}
where += "SYMBOL_OG = '" + symbol + "'";
}
layer.setOptions({
query: {
select: locationColumn,
from: tableid,
where: where
}
});
}
有人能帮我吗?我将感谢你的帮助。
Trebor
做你想做的事情肯定是可能的,但并不是那么容易。在该示例中,要平移到的位置由Google Geocoding API使用地址计算。但是您的JavaScript代码中并没有地址(即locationColumn
的内容)。这取决于你在locationColumn
中存储的信息类型,我想这是某种可以进行地理编码的地址。
因此,您必须将select语句直接发送到Fusion Tables。Google Fusion Tables有一个JSONP接口,您可以将其用于此目的。
var gftUrl = 'http://www.google.com/fusiontables/api/query?';
var jsonUrlTail = '&jsonCallback=?';
var query = 'select ' + locationColumn + ' from ' + tableid + ' where ' + where;
var params = "sql=" + encodeURI(query + jsonUrlTail);
var myCallback = function(data,status) {
if(status !== 'success') {
window.alert('Call to Google Fusion Tables failed: ' + status);
return;
}
var address = data.table.rows[0][0];
/* start code from google example */
geocoder.geocode({
address: address
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(10);
// OPTIONAL: run spatial query to find results within bounds.
var sw = map.getBounds().getSouthWest();
var ne = map.getBounds().getNorthEast();
var where = 'ST_INTERSECTS(' + locationColumn +
', RECTANGLE(LATLNG' + sw + ', LATLNG' + ne + '))';
layer.setOptions({
query: {
select: locationColumn,
from: tableId,
where: where
}
});
} else {
window.alert('Address could not be geocoded: ' + status);
}
});
/* end code from google example */
}
var jqxhr = $.post(gftUrl, params, myCallback, "jsonp"); /* jsonp parameter is very important */
在本例中,我将jQuery用于$.post
函数。
相关文章:
- 为什么缩放按钮不会显示在照片擦除中
- 未注释img´除非调整浏览器大小、缩放或打开开发工具,否则不会显示
- ArcGIS Javascript-缩放以显示所有点
- 谷歌地图漏洞?显示的标记会根据缩放级别而更改
- 网页调整缩放显示
- Jquery:缩放后的图像未正确显示
- 传单,着色矢量,同时仅在特定缩放级别显示它们
- 在某些缩放级别不显示数据的图表
- 仅在缩放级别 15 谷歌地图 API v3 上显示标记
- 当缩放级别为 1 时,谷歌地图显示 kml(内部是图像 URL)不正确
- 显示图形点的平均值,随着用户缩放而动态修正
- 如何缩放 html5 画布以显示谷歌地图坐标
- 谷歌地图区域突出显示和适当的缩放“近似”区域
- 防止显示.js缩放
- 如何在传单中显示超出特定缩放级别的标签
- 突出显示如何在单击重置缩放按钮事件中捕获和插入逻辑
- 缩放 X 时突出显示为空
- jQuery 显示/隐藏缩放无法按预期工作
- 谷歌地图缩放控制隐藏和显示
- 如何使用灯箱显示图像的缩放尺寸