gpt4 book ai didi

javascript - 我可以将 map 限制为仅在 Google Maps Fusion Layer 的范围内搜索吗?

转载 作者:行者123 更新时间:2023-11-30 17:33:28 25 4
gpt4 key购买 nike

我想知道是否可以将我的 map 搜索限制为仅返回位于图层边界内的位置?

我知道你可以创建一个边界对象,然后用它来检查你搜索的内容是否在其中,但我不知道如何正确地实现它并阻止 map 在全局范围内移动到错误的位置。

如果我搜索邮政编码扇区(在我的融合表/图层中),问题就会出现,有时它会将我带到中国的一条高速公路,其名称与邮政编码扇区相同(例如“G1”)。我可以理解 Google 是否设置了优先顺序来首先查找具有该名称的位置而不是我的融合表,但是如果我搜索“G84”,它会显示我的表/图层中的正确区域,所以它让我觉得它正在寻找排在第一位,却把优先权分配给了错误的地方?

这是我的代码的 JSFiddle,我已经添加了我的代码中的所有内容,但我无法在此处显示 map :http://jsfiddle.net/3U4Vd/10/

function initialize() {
var tableId = '1S0FCMn-wGr2zy6SrAnre6HNF_KghfZmObb4sNLc';
var geocoder = new google.maps.Geocoder();
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(55.864237, -4.2518059999999880),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});

layer = new google.maps.FusionTablesLayer({
query: {
select: "col40>>0",
from: '1S0FCMn-wGr2zy6SrAnre6HNF_KghfZmObb4sNLc'
},
map: map,
styleId: 2,
templateId: 2
});
}

这是我对 map 和图层的初始加载。

最佳答案

您可以另外向请求添加一个边界属性(表中所有要素的边界),然后地理编码器将优先选择这些边界内的结果。

示例代码:

 geocoder.geocode({
address: address,
bounds: new google.maps.LatLngBounds(
new google.maps.LatLng(55.661031, -4.893133),
new google.maps.LatLng(56.365728, -3.865911))
},
function(){
//some code
}
);

演示:http://jsfiddle.net/doktormolle/JLC4F/

关于javascript - 我可以将 map 限制为仅在 Google Maps Fusion Layer 的范围内搜索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22514180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com