所以这里我有JavaScript代码,指的是谷歌地图中的融合表层。 我已经实现了包含搜索输入字段的HTML,在js中我有查询融合表的功能,查找字符串并在地图上标记它。 我想将地图平移到搜索到的字符串位置。 请问该怎么做?
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(41.879, -87.624),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),mapOptions);
var polyOptions = {
strokeColor: '#000000',
strokeOpacity: 1.0,
strokeWeight: 3,
editable: true,
draggable: true
}
var markers = [];
poly = new google.maps.Polyline(polyOptions);
poly.setMap(map);
var deleteNode = function(mev) {
if (mev.vertex != null) {
poly.getPath().removeAt(mev.vertex);
}
}
google.maps.event.addListener(poly, 'rightclick', deleteNode);
google.maps.event.addListener(map, 'click', function(event) {
var path = poly.getPath();
path.push(event.latLng);
markers.push(new google.maps.Marker({
position: event.latLng,
title: '#' + path.getLength(),
map: map
}));
if(path.getLength() == 4) {
console.log('box it');
path.push(markers[0].getPosition());
console.dir(markers);
layer_0 = new google.maps.FusionTablesLayer({
query: {
select: "col3",
from: "1xUO04Jq46-u8QaqgztZ6rCA3xETHtb2u4Zee6KTP"
},
map: map,
styleId: 7,
templateId: 44
});
layer = new google.maps.FusionTablesLayer({
map: map,
heatmap: { enabled: false },
query: {
select: "col11",
from: "1xUO04Jq46-u8QaqgztZ6rCA3xETHtb2u4Zee6KTP",
where: ""
},
options: {
styleId: 7,
templateId: 944
}
});
}
});
}
function deletepoly() {
poly.setMap(null) ;
layer.setMap(null);
path.setMap(null);
};
function changeMap_0() {
var whereClause;
var searchString = document.getElementById('search-string_0').value.replace(/'/g, "\\'");
if (searchString != '--Select--') {
whereClause = "'PONAME' CONTAINS IGNORING CASE '" + searchString + "'";
}
layer_0.setOptions({
query: {
select: "col11",
from: "1xUO04Jq46-u8QaqgztZ6rCA3xETHtb2u4Zee6KTP",
where: whereClause,
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
https://drive.google.com/open?id=1siIdpr3qgyEXoeLEJYL4XDVeC8poRJjw