Tag: 地理编码

Google地图是否足够智能,以避免在当前未显示的位置添加标记?

在我的app / site中,我开始展示连续的USA,但允许用户从下拉列表(选择小部件)中选择一个州(或返回USA48,或选择USA50 +): USA (48) USA (50+) Alabama . . . Wyoming 我还允许用户根据他们制作的复选框选择显示各种类别的标记。 这些标记放置在“扩展美国”的任何地方(包括美属萨摩亚,干燥的Tortugas等)。 当他们选择一个州,比如阿拉巴马州时,我首先需要“无效”地图数据,就像这样(“removeData”行是我在这里引用的关键): function LoadAlabama() { $(“#map”).removeData(); $(“#map”).goMap({ latitude: 32.806673, longitude: -86.791133, zoom: 8 }); ReloadMarkers(); } 但是,我不想加载所有标记,因为它们不可见(我只需要一个州首都标记,而不是50;我只需要一个NFL团队标记,而不是32等)。 Google地图是否足够智能,可以忽略在当前显示的地图之外的位置放置标记的请求? 注意:ReloadMarkers()方法显示或隐藏标记组,如下所示: function ReloadMarkers() { if ($(‘#NFLCheckbox’).is(‘:checked’)) { $.goMap.showHideMarkerByGroup(‘NFLGroup’, true) } else { $.goMap.showHideMarkerByGroup(‘NFLGroup’, false) } . . . } 我可以编写代码来考虑显示的区域,然后过滤掉那些超出显示内容的经度/纬度范围的标记(基于它的中心纬度/长度和地图的缩放值),但我会如果谷歌地图足够聪明,我可以满足(温和地说)。 是吗?

Google Maps Geocoder:返回postal_code

我正在使用Jquery UI使用Google Maps Geocoder自动完成对地址的搜索,当选择地址时,它会返回地理编码信息。 这是片段: $(‘#address-dropdown’).autocomplete({ //Use geocoder to fetch lat+long values from an address input using google maps API source: function(request, response) { geocoder.geocode( {‘address’: request.term }, function(results, status) { response($.map(results, function(item) { return { label: item.formatted_address, value: item.formatted_address, location: item.geometry.location, latitude: item.geometry.location.lat(), longitude: item.geometry.location.lng() } })); }) }, 我需要能够返回用途“postal_code”来检查它们是否存在于允许的区域内。 以下是一个示例输出: http : //maps.googleapis.com/maps/api/geocode/json?address […]

使用jQuery ajax.get计算输入地址的谷歌距离和MySQL服务器的所有地址

问题描述 我想创建一个用户可以输入地址的网页,然后服务器将计算从输入地址到MySQL数据库中每个地址的距离。 我正在尝试使用ajax GET方法来做到这一点。 我有以下代码: 当我通过URL栏手动输入GET变量时,上面的代码块工作正常。 例如: http://www.example.com/find_distance.php?lat=123456&lng=234567 但是,我想要一种方法,以便输入地址将通过Geocode自动转换为lat和lng。 我使用以下代码进行地理编码: function searchAddress(addr) { geocoder = new google.maps.Geocoder(); geocoder.geocode({address:addr}, function(result){ loc = result[0].geometry.location; }); return loc; } 我正在尝试使用下面的ajax get方法:但它似乎并不像我想要的那样工作: var data = ‘lat=’+loc.lat()+’&lng=’+loc.lng(); $.ajax({ url:’find_distance.php’, type:’GET’, data: data, cache:false, complete:function(){alert(‘Complete’);}, success:function(){alert(‘success, ‘+data);} }); } 它似乎不起作用。 我是否必须以某种方式告诉PHP代码在PHP代码部分再次运行?

有没有办法从客户端确定访客国家?

我使用谷歌地图和地理编码API在输入邮政编码后检索用户lat / lng,但我想将邮政编码限制在该用户国家/地区,因此我不会得到多个结果。 有没有办法从客户端可靠地确定访问者的原籍国可能使用jquery或可能以某种方式解码用户代理? 我的电话会结束看起来像这样: var country = ??? var postcode = document.getElementById(‘postcode’).value + ‘, ‘ + country; var geocoder = new google.maps.Geocoder(); geocoder.geocode({ ‘address’: postcode }, function (results, status) { if (status == google.maps.GeocoderStatus.OK) { … } }); 有什么想法吗?

找到lats / lngs的平均值(中心)

我正在动态地将几个点绘制到谷歌地图上。 我正在努力寻找找到给定点中心的最佳方法。 我尝试过使用以下内容: var mapArray = new Array; mapArray[0] = new Array(42, 35.391228, -119.008401); mapArray[1] = new Array(34, 33.874277, -118.131555); mapArray[2] = new Array(214, 32.6922592, -115.4962203); mapArray[3] = new Array(216, 33.3818875, -117.2449785); mapArray[4] = new Array(40, 36.805231, -119.770192); mapArray[5] = new Array(47, 37.638266, -122.117398); mapArray[6] = new Array(218, 37.638266, -122.117398); mapArray[7] = new Array(39, 33.70677, […]

使用google API,jQuery从地理编码中提取加4个邮政编码

我在jQuery的帮助下使用谷歌API进行地理编码。 以下是我试过的代码。 jQuery(document).ready(function () { var geocoder = new google.maps.Geocoder(); jQuery(‘AddressPicker1’).autocomplete({ source: function (request, response) { geocoder.geocode({ address: request.term}, function (results, status) { if (status === google.maps.GeocoderStatus.OK) { response(jQuery.map(results, function(item) { var streetNumber = “”; var streetName = “”; var cityName = “”; var zip = “”; var country = “”; var countyName = “”; […]

从google maps api json获取formatted_address

我想从json数组中获取formatted_adress。 示例链接可以是http://maps.googleapis.com/maps/api/geocode/json?latlng=55.397563,10.39870099999996& sensor = false var url = “http://maps.googleapis.com/maps/api/geocode/json?latlng=”+latlng+”&sensor=false”; $.getJSON(url, function(data) { var adress = data[‘formatted_address’]; alert(adress); }); 但我得到“未定义”

全局位置输入自动完成

我正在寻找一个插件来创建一个智能位置表单字段,其中包含建议的自动完成function。 我找不到任何合适的东西(谷歌地理编码本身太不可靠,而且它不是为此而设计的)所以我建立了自己的。 我认为在2011年这样一个开源的全球位置输入插件并不存在,所以很开心。 该演示在这里http://labs.unxposed.net/unxposed/geocode/ ,正在开发Chrome和Firefox 4.下载在这里https://github.com/unxposed/geocode 我有一个主要问题。 有时它的效果很好。 在输入中输入Ban时,我会得到一个建议列表。 输入是自动填充的,第一个建议返回匹配Ban ,选择Ban后输入文本(非常类似于Chrome地址栏)。 但是,大多数情况下,输入中自动填充选择的文本变得不突出,然后光标移动到输入的末尾(这真的很烦人)。 就像这样 – 在我输入Banbur之后 。 我很确定这与谷歌地图有关,好像我删除了辅助来源(谷歌地理编码),问题得到解决,自动填充/输入选择工作得很好,但为什么会发生这种情况,我该如何解决? 任何其他改进/优化/建议也将非常感谢! 谢谢

如何使用jquery ajax调用谷歌地图地理编码服务

我正试图从谷歌地图geocode api获取LatLng。 我的代码在下面,地址值是“纽约,纽约” $.ajax({ url: ‘http://maps.googleapis.com/maps/api/geocode/json’, data: { sensor: false, address: address }, success: function (data) { alert(data) } }); 但我没有得到任何警惕的价值观。 谢谢你的帮助。

自动填充地址+ Google Maps API

我想向用户提供一个文本框,其中可以输入他们的地址。 当他们键入地址时,我想向用户提供他们尝试键入的地址的建议/预测。 我也担心这个地址的相关性(例如,地址不是世界各地的地址)。 这可能吗? 我正在使用jQuery。