Tag: 谷歌地图

如何将JQuery变量传递给全局变量

我正在尝试从JQuery函数中检索数据并将其传递给全局变量以与Google Maps一起使用。 这些变量必须保持全局,否则Google地图无法使用它们。 我设法从AJAX url获取我需要的所有数据,并且它只在Jquery函数内完美记录。 如果我将它记录在它之外,它是未定义的。 无论如何将这些值传递给全局变量? function displayMarkers() { var latlng = new google.maps.LatLng(latitd, longtd); var name = titleName; createMarker(latlng, name); } var latitd; var longtd; var titleName; $(document).ready(function() { $(‘#earthquakes’).click(function() { getQuakes(); }); function getQuakes() { $.ajax({ url: ‘http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=’ + yesterDate + ‘&endtime=’ + displayDate, success: function(data) { console.log(data); $.each(data.features, function(key, val) { […]

等待动画完成,然后返回

我有一个谷歌地图应用程序,如果它太大,将调整地图div的大小,我遇到的问题是,我正在尝试使用Jquerys动画,并在它完成之前返回function,我必须触发谷歌地图它重新resize。 因此,地图在触发之前放大并设置边界,从而使其偏离。 并且只有在第二次触发时才能正常工作。 function doResize() { if ($(“#map_div”).width() > 600) { $(“#stores”).hide(0, function(){ $(“#map_div”).animate({width: ‘500px’}, function(){ google.maps.event.trigger(G_MAP, ‘resize’); $(“#stores”).fadeIn(1000); }); }); } } 我不能将其余的代码放在回调中有两个主要原因,一个是它的一个大function,它在两个地方使用。 宽度也只有600多次。 请注意当您第一次单击newyork其偏移量而不是居中时,然后单击其他状态并单击返回纽约。 编辑: 因为我不能让动画同步并且做: while($(“#map_div”).width() > 500) { $(“#map_div”).width($(“#map_div”).width() – 1) } 根本不顺利,我决定放弃动画。 迫使Jquery必须运行异步实际上有时会垮台。 特别是当javascript本身是单线程时,你会认为他们可以选择等到它完成。

Google GeoCode自动填充限制状态

我正在尝试在表单中添加Google Geocode自动填充字段。 我已经能够限制返回到国家(AU)的结果,但如果我可以将结果限制到州,那就更好了。 (新南威尔士/新南威尔士州) 这是我当前的initialize()函数: function initialize() { var options = { types: [‘geocode’], componentRestrictions: {country:”AU”} }; autocomplete = new google.maps.places.Autocomplete( (document.getElementById(‘autocomplete’)),options); google.maps.event.addListener(autocomplete, ‘place_changed’, function() { fillInAddress(); }); } 我已阅读文档,发现您可以使用types参数来限制结果,但我无法弄清楚确切的代码应该是什么。 只需将其更改为: types: [‘administrative_area1′:’NSW’], // OR ‘New South Wales’ 和以上类似的各种组合(=代替:等)没有奏效.. 有人能指出我正确的方向,实际的语法是我想要实现的目标吗? 谢谢。

谷歌地图v3,动画多线之间的两个点

到目前为止,在我的页面上,我可以设置两点之间的折线动画,但我无法弄清楚如何做更多的事情。 例1 setTimeout(function() { flightPath.setMap(map); flightPathProgress.setMap(map); flightPathProgress.setOptions({ strokeOpacity: 0 }); var progress = 0; var intvl = setInterval(function() { progress += 0.01; if (progress > 1) { clearInterval(intvl); running = false; } else { // animation is still running running = true; } // calculate progress var progressLatLng = google.maps.geometry.spherical.interpolate(postcode_1_lat_lng, postcode_4_lat_lng, progress); // update polyline […]

Google Maps API v3:为symbolPath传递图像而不是内置符号

我刚刚了解了Google API提供的符号动画 。 我的代码中的每一件事都运行正常,但我只是想知道我是否可以在下面的代码中传递一个Image而不是一个符号。 var lineSymbol = { path: google.maps.SymbolPath.CIRCLE, scale: 8, strokeColor: ‘#393’ }; 如果是的话,我该怎么做? 我尝试过传递Image路径和Image对象。 什么工作..请帮帮我。

谷歌地图加载两次

我有一个特殊的情况,可以真正使用一些帮助。 我有一个html构建器,每次刷新站点时都会添加其他脚本标记。 这是一个严重的问题,因为我使用的是Google Maps API,每次刷新页面时都会不断添加以下脚本标记: 不幸的是,这是我能够为这个项目开发页面的唯一方法。 (你可以想象我的沮丧>。<)。 基本上,如果此脚本标记在html文档上存在多次,则会引发错误Uncaught TypeError: Object # has no method ‘Load’阻止Google Maps API渲染我的地图的Uncaught TypeError: Object # has no method ‘Load’ 。 我的问题: 有什么方法可以阻止Google的API动态添加此脚本标记,或者在文档有机会加载它之前将其删除,或者让文档完全忽略它? 任何帮助将帮助我今天早上睡一觉:)

谷歌地图在左上角

我想以100%的宽度显示谷歌地图。 但我遇到了这个问题。 它仅显示在左上角 View post on imgur.com 我也用jquery切换这个地图。 这是我的代码 function initialize() { var latitude = 48.3592727; var longitude = -2.6350914; var zoom = 8; var LatLng = new google.maps.LatLng(latitude, longitude); var mapOptions = { zoom: zoom, center: LatLng, panControl: false, zoomControl: false, scaleControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById(‘map-nos-agences’), mapOptions); google.maps.event.trigger(map, ‘resize’); […]

如何通过ID选择和操作谷歌地图(V3 JS API)标记?

我在左侧获得了带有标记的Google地图,以及一个内容项目列表,其中列出了右侧的标记。 单击标记时,列表将滚动到相应的条目。 那已经有了。 现在为了更好地可视化,我想在右侧的列表项被点击时突出显示地图中的标记。 除非我不知道如何通过它的id选择标记,否则我完成了所有工作。 我在jquery中使用它。 它适用但仅适用于最后创建的标记。 $(document).ready(function() { $(‘#list_canvas h2’).click(function() { marker.setIcon(‘http://google-maps-icons.googlecode.com/files/black01.png’); }); }); 如何更改线条以通过它的ID选择标记?

获得正确的地图边界

我用的很简单: var ne = gMap.getBounds().getNorthEast(),sw = gMap.getBounds().getSouthWest(); 获得地图边界的长度 当地图如下时,它工作正常: 但是当地图是这样的时候: 东北纬度为63.821287740550275, -179.73632762500006 。 这产生了一个问题,因为这个纬度与西南部几乎相同,导致它们之间没有区域。 有没有办法获得所需的值,如果它越过线,就像一个最大值。

Google Maps Grey Squares Apear

我在网上搜索这种问题是一个修复但没有运气。 我的问题不是所有的谷歌地图灰色方块,以便解决api问题,问题是我看到地图的一部分而其他部分是灰色的并且是随机的:有时候地图位于顶部而灰色地点在某个时候有所下降左边等