--Wenxin Ren
问题分类
通过分析问题的内容,我们大概可以将问题归纳成以下几类。
变量、函数作用域,闭包
异步
Map Api使用
域名与API Key
Map API 的高级应用
变量、函数作用域,闭包(一)
闭包:是指函数的内部函数可以调用该函数所定义的变量,即使该函数的调用已经结束。
比如实现一个定时器。
function Timer(){
var timer = null;
function onTimeout(){
if(timer) clearTimeout(timer);
....
timer = setTimeout(onTimeout, 1000);
}
timer = setTimeout(onTimeout, 1000);
}
Time();
变量、函数作用域,闭包(二)
通过GMarker弹出的信息窗口位置不对
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/766e1c9bab9d5fdf
原文描述:
我在地图上标注了多个GMarket,当我点击其中一个Marker得时候会弹出一个InfoWindow窗口,但窗口的位置却不和所点击的
Marker相吻合 ,而且点击不同的Marker弹出的窗口都在同一个位置,为什么会这样?
变量、函数作用域,闭包(三)
原因分析:
javascript的变量,函数作用域问题引起的
解决办法:
1)通过创建一个函数来封装基于当前marker的操作
2)提供闭包,函数作用域问题的解释,让产生错误的开发者弄清楚问题的原因
变量、函数作用域,闭包(三)
示例代码:
function createGMarker(lat, lng, html){
var marker = new GMarker(new GLatLng(lat, lng));
GEvent.addListener(marker, 'click', function(){
this.openInfoWindowHtml(html);
});
return marker;
}
异步(一)
异步:这里主要指代码执行后并不立即返回执行结果的一种代码执行方式。
常见于操作系统的消息机制与网络操作上。
好处:
异步操作不会产生执行的阻塞。
缺点:
异步操作下函数不能马上返回结果,需要对返回事件进行处理。会在一定程度上增加代码的复杂性。
异步(一)
老提示getDistance().meters为空或不是对象,得不到距
离
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/b60c15c7e995dcc4
问题描述:
代码执行结果地图显示正常,路线信息(div2里的内容)显示正常,就是老提示getDistance().meters为空或不是对象,得不到距
离???
异步(二)
<<script type='text/javascript'>>
document.body.onload = function distance(){
var map = new GMap2(document.getElementById('div1'));
var test = document.getElementById('div2');
map.setCenter(new google.maps.LatLng(39.9493, 116.3975),5);
var directio = new GDirections(map,test);
directio.load('from: 北京 to: 上海');
var dire = directio.getDistance().meters;
}
<</script>>
异步(三)
原因分析:
对于异步函数调用的理解问题
解决办法:
理清异步调用与同步调用的异同
将处理过程放到函数调用完成后。
代码示例:
GEvent.addListener(dir, 'load', function(){
var distance = dir.getDistance().meters
});
Map Api使用(一)
请教如何做一个地址列表与地图中自定义的MARKER关联互动
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/009650ca4ec87d74#
Map Api使用(二)
问题描述:
在网页的左边做一个地址列表,列表上是公司的几十家门店地址,右边是地图,并已经在地图上标注出所有门店
点击地址列表,右边地图会自动定位到相应门店,并弹出消息窗口,内有门店的名称,地址,照片等信息,直接用鼠标点击右边地图中的标注也要有相同的消息窗
口
请教怎么关联左右两边,还有如何在消息窗口中插入图片,请高人指点谢谢
Map Api使用(三)
原因分析:
对于map api里的GMarker的操作不太熟悉,在与javascript结合时存在问题
解决办法:
1)网友回复:
这个简单
自动定位使用GMap2.panTo()函数,
弹出窗口就使用GMap2.openInfoWindowHtml()函数,
参数是任意HTML字符串,
这样的话就可以随意控制窗口中的内容了
2)最好我们能提供示例供开发者查看学习
Map Api使用(四)
2. 添加一个标记点后,拖动该标记点后,如何获取此标记点的经度和纬度呢?
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/c54e7edc98a793cd
Map Api使用(四)
问题描述:
//拖动
var marker1 = new GMarker(point, {draggable: true});
GEvent.addListener(marker1, "dragstart", function() {
map.closeInfoWindow();
});
GEvent.addListener(marker1, "dragend", function() {
marker1.openInfoWindowHtml("Just bouncing along...");
});
map.addOverlay(marker1);
Map Api使用(五)
原因分析:
对于GMarker的属性的了解不是很足。
解决办法:
通过处理dragend事件来得到新更后的marker的经纬度。
代码示例:
GEvent.addListener(marker1, "dragend", function() {
marker1.openInfoWindowHtml("Just bouncing along...");
var latlng = this.getLatLng();
});
Map Api使用(五)
3.地图标注功能
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/429481f2579cd5c9
问题描述:
地图上原本有个标注,我现在点按钮新建一个标注,那如何使原来的标注消失。
Map Api使用(五)
原因分析:
对于GMap2.removeOverlay()函数不熟悉
解决办法:
1.记录原marker
2.删除原marker,创建新marker
Map Api使用(六)
代码示例:
var marker = new GMarker();
GEvent.addListener(map, 'click', function(){
if(marker) {
map.removeOverlay(marker);
marker = null;
}
marker = new GMarker();
map.addOverlay(marker);
});
Map Api使用(七)
4.有没有方法实现Map大小的自动设置
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/34b7201648729126
问题描述:
就像google地图那样,地图大小随着浏览器自动变化,占满整个剩余空间?我用的gwt,似乎只支持固定像素大小的设置
Map Api使用(八)
原因分析:
gwt下map api配合的问题
解决办法:
1.对于map的调整可以通过监听window的resize事实来响应窗口的大小变化的问题。
代码示例:
GEvent.addDomListener(window, 'resize', function(){
map.checkResize();
});
2.GWT的解决方案需要有针对性的解决。
Map Api使用(九)
5. 如何开发自己的城市街景
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/c0425aac8628b58b#
问题描述:
请教各位高人:
在下想了解有关google 街景二次应用的问题。我想建立自己的有关某个城市街景的网站,图片自己提供,基于google
streeview。请问google目前有这个功能吗?
Map Api使用(十)
原因分析:
没有仔细阅读API文档
解决办法:
阅读API示例。
地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/
services.html#Streetview
域名与API Key(一)
API Key是长期困扰开发者的一个问题。
开发者经常问的问题包括:
用域名还是用IP注册API KEY?
用域名要用那一个?
对于第一个问题,两者都可以,但是建议用域名。
对于第二个问题, 建议是用根目录,这样只需要注册一次KEY。
域名与API Key(二)
如何设置双域名的API?(或者多域名)
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/5ecd5c9bed6ee256#
原文描述:
我们网站是 www.1.com 域名 和 www.1.com.cn 格式的两个域名,指向同一asp程序网站,我要用到google地图,生成
了
com的域名key,但用cn域名访问就提示已经被抢注了,反之亦然,两个域名的key都放进去,也会提示域名被抢注。请问该如何操作能确保两个域名
均
能正常访问!????谢谢!
域名与API Key(二)
原因分析:
多域名与API绑定KEY冲突
解决办法:
1)客户端代码采用动态加载api的办法,同时动态生成 key
2)通过服务器对访问的URL来提供不同的KEY来实现。
前端解决方法:
域名与API Key(三)
代码示例:
function getMapApiKey(url){
var urlKey =
[
{url: 'www.a.com', key: 'asdff7'},
{url: 'www.a1.com', key: 'asdff1'},
{url: 'www.a2.com', key: 'asdff2'}
]
for(var i = 0; i << urlKey.length; i ++){
if(url.indexOf(urlKey[i].url) != -1) return urlKey[i].key;
}
return '';
}
域名与API Key(四)
document.write('<<script type="text/javascript" url="'+ getMapApiKey
(location.href)+'">><</script>>');
Map API 的高级应用(一)
如何实现这样的效果??很多的marker,大大小小 密密麻麻的!
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/69e440ca5c1afac7
问题描述:
大家好
在google地图上搜索餐馆
会根据地图大小显示数量不等的小红点,放到到一定级别后,这些点的数量有点惊人!
并且每个点都可点击,可弹出详细餐馆信息。 (续下)
Map API 的高级应用(二)
(续上)
请问这样的效果如何实现的?
我在本地测试的时候,加载5k个点就把浏览器拖死了
可是看google地图做的,可远不止这个数字
大家打开google地图 输入餐馆 或者银行 滚动鼠标中轮 ,就可以看到效果了
谢谢大家了!!
Map API 的高级应用(三)
原因分析:
一次性加载的GMarker数据量过大, 对Google的操作方式的误解。
Google 网页上的位置并不是通过GMarker画出来的。
而是将Marker画好的图片放在地图上实现的。
解决办法:
1)采用同样的办法,将GMarker放在一张图上。
2)将GMarker按zoom级别来区分。不同级别时得到不同的GMarker数据。
3)在客户端进行缓存,只显示区域内的一部分内容。
Map API 的高级应用(四)
2. 谷歌地图加载标注点的改良
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/2e45c0c4f5ad79ad
问题描述:
为了使地图的点不至于太多,我就取当前地图视图的东北、西南角的经纬度,在数据库中取在这个范围内的标注点加载显示,并在地图的moveend事件里写
了删除和加载标注点函数,当地图缩放和拖拽时,显示当前范围内的标注点。 (续下)
Map API 的高级应用(五)
现在的问题是,当我点击气泡时,如果这个气泡刚好在边缘的话,map会自动滑动以显示气泡,这就造成了地图的move事件,导致地图重新加载,气泡就
不
会弹出来,要点击第二次才行
Map API 的高级应用(六)
原因分析:
openInfowindow会重新布置地图的位置。
解决办法:
1)提供自定义的openInfoWindow方法
2)利用变量进行控制
Map API 的高级应用(七)
网友提供的办法:
你可以设置一个变量 infoOpening,
当点击任意一个marker打开infowindow的时候,
把infoOpening = true
moveend 触发时检查infoOpening 是否为true,
if(!infoOpening){
请求新数据
bla bla bla
}
Map API 的高级应用(八)
3.Google地图API问题,如何出现系统找出的路径中的小圆圈 ?
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/79fc869c2371c1bf
Map API 的高级应用(九)
问题描述:
ditu.google.com 当使用搜索路线,制定出发点和目的地之后,系统会画出蓝色的路线。
当鼠标移到这个路线上的时候出现一个小圈圈,并且提示"拖动以更改路线" 。 如果想在自己用Google maps API
创建的地图上也提供类似的功能,该怎么做? API 里面好像没有看到这个说明。。。
Map API 的高级应用(十)
原因分析:
对于javascript与map api的结果要求比较高, 要结合GPolyline与鼠标事件进行处理。然后产生一个GMarker用于拖
曳。
解决办法:
1)找出来离鼠标最近的点,然后指定最短距离,当鼠标与Polyline的距离小于最短距离时,就会画出来一个GMarker.
Map API 的高级应用(十一)
代码示例:
function checkMouse(point){
var minDist = 250; //允许最短距离
var shortDist = 999999; //当前最短距离
var shortIdx = -1;
//选择最短距离点
for(var i = 0; i << points.length; i++){
if (point.distanceFrom(points[i]) << shortDist) {
shortDist = point.distanceFrom(points[i]);
shortIdx = i;
}
}
Map API 的高级应用(十二)
if(shortDist << minDist){
//找到最短距离
dragMarker.show();
dragMarker.setLatLng(points[shortIdx]);
} else {
//未找到最短距离
dragMarker.hide();
}
}
Map API 的高级应用(十三)
4.大家好,作为移动平台的我们应该如何调用Map API 的一些接口
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/78b6a915fac56782
问题描述:
1. 在我严重,Google Map API 总的来说是可以分为两个接口,
一个是地图图像的接口,让我们来获取图像的信息
二就是和地图相关的信息了,比如说一个地点的名字,周围的周边信息等
Map API 的高级应用(十四)
(续)
2. 我是做Android的应用开发的
Google的 Add-On 已经封装好了部分接口,特别是图像的借口,但是在第二个做的还很贫弱。
那么图像这一块搞定了,我应该怎么在我的应用调用Map 上的数据的信息
3. 在网上Map API的页面上,给出的方法都是Javascript封装包里面的,把很多的方法直接封装到Javascript中,
我不知道我怎样才能调用到这些信息
4. 比如说某一路段是否堵车,我想要获取这些信息
Map API 的高级应用(十五)
原因分析:
有些功能API尚未提供功能。
解决办法:
1.等待非javascript版的api
5.能否基于Google map模拟"莫拉克"台风?
问题地址:
http://groups.google.com/group/google-maps-api-china/browse_thread/thread/02e91109f96e5c94
Map API 的高级应用(十六)
原因分析:
对于自然灾害在google地图上的应用的需求
解决办法:
可以尝试提供一套灾害地图解决方案
-- Wenxin Ren
论坛总体情况分析
a.发贴量(60)相比9月份(70)有所减少
(论坛搜索用户可能相对增加)
b.问题解答人员日趋多元,积极性提高
c.非主流兴起或出没(Mobile,flash)
d.主流问题百问不厌,偶有强人直接要代码
e.论坛订阅量(截止发稿时): 1410
当月解答王情况统计排行
当月解答
52 Fei Chen
8 hackwaly
7 Dorian
7 ssoor
6 寒 王
6 Molly
5 李白,字一日
5 woodheadz
5 凤明 王
5 灵魂收割
累计解答
384 Fei Chen
112 xiaoxi
96 李白,字一日
80 badnews
71 Geogle
58 @@
58 Dorian
49 zhang.jingjun
45 minc
38 Bright
论坛技术点分布排行
1.GMarker(12)
2.GDirections(10 + 1)
3.地址解析(GClientGeocoder)(8)
4.其它(与api无直接关系)(6)
5.通用问题(地形,GPS,更新)(5)
6.API 帮助(3),其它非官方支持的开发言语(3),台湾(3)
7.StreetView(2),专业版(2)
8.V3(1),静态地图API(1),GOverlay(1),KML(1 + 1),Earth( 0 + 1)
技术分析与总结-GMarker(1)
1.动态显示地图标记时,如何自动显示标记内容?
2.关于异步预加载标记点的问题
3.创建大量的marker时 firefox提示脚本太忙,如果解决呢?
4.求助使用google map api时大批量marker(5000多个)造成的延迟严重和内存消耗巨大如何解决
5.多个标注互相遮盖的问题
6.使用Flex开发google map应用时,如何给每一个生成的marker添加不同的监听器?
7.怎么在自定义图标上加文字
8.marker.value = number 的意思是什么?
9.在地图中添加一个图片标记时怎样再加上名称做描述?
10.marker太多,影响视觉效果,怎样实现地图放大到不同级别才陆续显示全部marker
11.如何实现marker的淡入淡出效果?
12.在地图上添加一个标记找到标记的经纬度
技术分析与总结-GMarker(2)
a) 大量GMarker问题
3,4,5,10
b) 闭包,回调,异步问题相关
1,2,6,8
c) 朴素的API问题(取地址,添文字)
7,9,12
d) 视觉效果
11
技术分析与总结-GMarker(2)
大量GMarker问题解决方案:
1.创建时消耗时间
采用setTimeout实现线程/进程的切换,
不至于让浏览器卡死
2.显示时太密
分层显示(GTileOverlay),
MarkerClusterer(聚合显示,有网友提供了ie的优化版)
技术分析与总结-GMarker(2)
闭包,回调,异步问题相关解决办法
1.主要在于开发者进一步的熟悉javascript
2.定期总结论坛上的类似的问题
朴素的问题(取地址,添文字)解决办法
1.LabeledMarker(问题不支持跟随Marker移动,可以设置相对于原Marker的偏移)
2.熟悉地图API与javascript
技术分析与总结-GMarker(3)
视觉效果(淡入淡出)的解决
1.通过GMarker.setImage实现
通过定义一组透明的渐变图片,定时通过setImage顺序更换实现
2.自定义GOverlay实现
通过控制GOverlay的dom节点的透明度来实现
技术分析与总结-GDirections(1)
1.google Map API是否支持获取道路节点的经纬度?
2.大家好,请教下在map上沿道路画一条路线
3.GDirections方法的使用与载入时延问题
4.如何得到静态地图的行车路线(综合静态地图)
5.关于谷歌地图API的例子折线和图标的问题(double)
6.directions.loadFromWaypoints 和 setCenter 一起出现的一个小问题,请帮看看
7.求助:“前往此处”功能如何实现?
8.如何用Directions.load()获得一个折线段的数组,里面都是经纬度坐标
9.找出范围内的路线
10.如何从资料库抓资料进gdir.load();
技术分析与总结-GDirections(2)
原因分析:
a)大部分问题很基础,
看上去与GDirections相关的文档与示例比较少有关系
b)通过GDirections实现的很多功能是异步的:
对于新手来说比较难理解,
并且示例代码中有一些干扰因素,
没有比较详细的解释与说明。
解决的办法:
提供更加详细的文档与示例,方便开发者理解与使用
技术分析与总结-GDirections(3)
GDirections基础介绍
a)GDirections即可以直接与地图对象关联,也可以不与地图对象关联
关联:
需要向GDirections对象传入地图对象与相应的展现节点,展现的节点也可以为空
代码如下:
var dir = new GDirections(map, domNode);
当关联地图后,dir的任何变动都会反映在map上,包括线路的变化,标记的变化。
当domNode传入后,dir变化后的结果将完全清空原dom节点里的任何数据。
技术分析与总结-GDirections(4)
关联(续):
这时很多的默认加载项也是生效的,在相应的回调函数里都是可以得到的。比如getPolyline, getRoute,都在load,
error的回调里有效。
不关联:
var dir = new GDirections();
这时有两个重要的属性默认将会失效:getPolyline, getRoute。为了能使用getPolyline与getRoute,我
们在加载函数load*的options中需要加入:
{
getPolyline: true, //任意选取一个或者同时选择
getSteps: true
}
技术分析与总结-GDirections(5)
b)任何一次GDirections都是可能失败的。
所以我们需要定义两个函数应对,
分别用于处理成功与失败的情况。
因为GDirections的操作是异步操作,
成功与网络有很大的关系,而网络可能是不稳定的,
同时可能包含一些不确定的随机事件的原因,
所以我们不能默认GDirections一定能成功执行,
否则将可能引入潜在的错误风险。
技术分析与总结-GDirections(6)
一般可以定义成如下的形式:
function onDirSuc(){
}
function onDirFail(){
}
分别对应于load, error两个事件
GEvent.addListener(dir, 'load', onDirSuc);
GEvent.addListener(dir, 'error', onDirFail);
技术分析与总结-GDirections(7)
c)明确传入的数据结构
很多失败的GDirections代码是从不明确怎样传入数据给GDirections开始的.
GDirections支持两种数据格式:
1.查询字串
2.查询数组
它们的基本结构组成:
地址
坐标
技术分析与总结-GDirections(8)
1)查询字串
对应的调用函数是dir.load()
地址形式:
"from: 北京 to: 上海"
"from: Seattle to: San Francisco"
"from: Toronto to: Ottawa to: New York"
坐标形式:
"from: 63.192828,-120.130023 to: 56.8032003,-100.1828833"
"from: -80.13532,120.829232 to: 89.12828,78.01822 to:
55.8282,100.020833"
技术分析与总结-GDirections(9)
2)查询数组
它对应的调用函数是dir.loadFromWaypoints()
地址形式:
['北京', '上海']
['Seattle', 'San Francisco']
['Toronto', 'Ottawa', 'New York']
坐标形式:
['63.192828,-120.130023', '56.8032003,-100.1828833']
['-80.13532,120.829232', '89.12828,78.01822',
'55.8282,100.020833']
技术分析与总结-GDirections(9)
d)常见问题分析与解决
最基本的了解与正确的使用之间还存在一定的距离,所以往往需要通过错误促使我们成长。
1. 多次创建 GMap与 GDirections, 在示例代码影响下,论坛上有会员将示例代码封装在一个函数中,从而实现多次的
GDirections,但同时引入了重复创建的错误。
解决:
a)不重复创建不必要的GDirections,
b)重新组织数据
c)调用load*
d)深入了解GDirections的使用方法
技术分析与总结-GDirections(10)
2.GDirections是异步操作,任何的后续处理都需要在onDirSuc或者onDirFail里实现,很多开发者直接后续处理放
在load*后面,导致无法得到想要的结果。示例
这里
1.可以通过传入callback的办法来实现后续处理
2. 也可以直接通过处理onDirSuc/onDirFail来处理
技术分析与总结-GDirections(11)
3.GDirections是异步操作,当需要汇集多次的GDirections结果时,处理起来将会比较麻烦。示例
一个比较通用的办法是:
1.定义一个处理汇总函数callback
2.数据化的需要汇总的dir成dirList,将它们的处理函数,是否完成标签按下面的格式
[{load: onDirSuc0, error: onDirFail0, flag: false},
{load: onDirSuc1, error: onDirFail1, flag: false},
...
]
3. 在所有的onDirSucX/onDirFailX里将自已对应原flag置位,检测所有的flag是否完成
4.如果完成调用callback
技术分析与总结-GDirections(12)
一段取GDirections后Polyline的代码示例:
//
var onDirSuccess = function() {
var points = [];
var pol = this.getPolyline();
var count = pol.getVertexCount();
for (var i = 0; i « count; i++) {
var point = pol.getVertex(i);
}
//do something
if (callback) callback();
}; //«--注意有分号
技术分析与总结-GDirections(13)
var onDirFailure = function() {
//do something else
if (callback)
callback();
};
技术分析与总结-GDirections(13)
var dir = new GDirections();
GEvent.addListener(dir, 'load', onDirSuccess);
GEvent.addListener(dir, 'error', onDirFailure);
var query = "from: 北京 to: 天津";
dir.load(query, {
getPolyline : true
});
技术分析与总结-GClientGeocoder(1)
1.google地图是否有这样的功能
2.谷歌自己解析出来的精确地址不能通过路线搜索 (综合GDirections)
3.如何让地图根据不同页面的地址参数自动显示不同的地图?
4.有没有能得到我当前位置的地图api (Google Ajax API)
5.返回无用的坐标,以及Accuracy的数据有误
6.前几日发现整个上午无法geocode,今天10点前发现geocode非常慢,而且打开也慢 前几日发现整个上午无法geocode,今天
10点前发现geocode非常慢,而且打开也慢
7.定点问题
8.google地图支持多个地址同时搜索么
技术分析与总结-GClientGeocoder(2)
a) 功能增强,问题报告,询问型
1,2,4,5,6
b) 闭包,回调,异步问题相关
8
c) 朴素的问题(取地址,添文字)
7
技术分析与总结-GClientGeocoder(3)
问题还是有一定的重复性。
涉及到部分网络问题,
同时对GOOGLE的地图服务提出更高的要求
我们指对性的讨论一些问题。
3.根据不同页面的地址参数自动显示不同的地图
这个问题的关键在于页面地址的获取,然后是使用Geocoder 来解析出来地址,将地图定位到这个地址之上。
技术分析与总结-GClientGeocoder(4)
4.取当前的位置,需要使用google ajax api
var loc = google.loader.ClientLocation;
loc.latitude && loc.longitude
8.google地图支持多个地址同时搜索么
建议的办法是一个一个的同步发送请求,
不要异步同时请求多个,这样有可能导到请求失败。
示例
(完)
2009年10月29日
On Nov 17, 12:13 am, 李白,字一日 <calid...@gmail.com> wrote:
> 2009年8月论坛问题
>
> --Wenxin Ren
>
> 问题分类
>
> 通过分析问题的内容,我们大概可以将问题归纳成以下几类。
>
> 变量、函数作用域,闭包
>
> 异步
>
> Map Api使用
>
> 域名与API Key
>
> Map API 的高级应用
>
> 变量、函数作用域,闭包(一)
>
> 闭包:是指函数的内部函数可以调用该函数所定义的变量,即使该函数的调用已经结束。
>
> 比如实现一个定时器。
>
> function Timer(){
>
> var timer = null;
>
> function onTimeout(){
>
> if(timer) clearTimeout(timer);
>
> ....
>
> timer = setTimeout(onTimeout, 1000);
>
> }
>
> timer = setTimeout(onTimeout, 1000);
>
> }
>
> Time();
>
> 变量、函数作用域,闭包(二)
>
> 通过GMarker弹出的信息窗口位置不对
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> Map Api使用(二)
>
> 问题描述:
>
> 在网页的左边做一个地址列表,列表上是公司的几十家门店地址,右边是地图,并已经在地图上标注出所有门店
> 点击地址列表,右边地图会自动定位到相应门店,并弹出消息窗口,内有门店的名称,地址,照片等信息,直接用鼠标点击右边地图中的标注也要有相同的消息窗
> 口
> 请教怎么关联左右两边,还有如何在消息窗口中插入图片,请高人指点谢谢
>
> Map Api使用(三)
>
> 原因分析:
> 对于map api里的GMarker的操作不太熟悉,在与javascript结合时存在问题
>
> 解决办法:
>
> 1)网友回复:
>
> 这个简单
> 自动定位使用GMap2.panTo()函数,
> 弹出窗口就使用GMap2.openInfoWindowHtml()函数,
> 参数是任意HTML字符串,
> 这样的话就可以随意控制窗口中的内容了
> 2)最好我们能提供示例供开发者查看学习
>
> Map Api使用(四)
>
> 2. 添加一个标记点后,拖动该标记点后,如何获取此标记点的经度和纬度呢?
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> Map Api使用(四)
>
> 问题描述:
> //拖动
> var marker1 = new GMarker(point, {draggable: true});
> GEvent.addListener(marker1, "dragstart", function() {
> map.closeInfoWindow();
> });
> GEvent.addListener(marker1, "dragend", function() {
> marker1.openInfoWindowHtml("Just bouncing along...");
> });
> map.addOverlay(marker1);
>
> Map Api使用(五)
>
> 原因分析:
>
> 对于GMarker的属性的了解不是很足。
>
> 解决办法:
> 通过处理dragend事件来得到新更后的marker的经纬度。
>
> 代码示例:
>
> GEvent.addListener(marker1, "dragend", function() {
> marker1.openInfoWindowHtml("Just bouncing along...");
>
> var latlng = this.getLatLng();
> });
>
> Map Api使用(五)
>
> 3.地图标注功能
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> 问题描述:
>
> 地图上原本有个标注,我现在点按钮新建一个标注,那如何使原来的标注消失。
>
> Map Api使用(五)
>
> 原因分析:
> 对于GMap2.removeOverlay()函数不熟悉
>
> 解决办法:
> 1.记录原marker
> 2.删除原marker,创建新marker
>
> Map Api使用(六)
>
> 代码示例:
>
> var marker = new GMarker();
>
> GEvent.addListener(map, 'click', function(){
>
> if(marker) {
>
> map.removeOverlay(marker);
>
> marker = null;
>
> }
>
> marker = new GMarker();
>
> map.addOverlay(marker);
>
> });
>
> Map Api使用(七)
>
> 4.有没有方法实现Map大小的自动设置
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> 问题描述:
>
> 就像google地图那样,地图大小随着浏览器自动变化,占满整个剩余空间?我用的gwt,似乎只支持固定像素大小的设置
>
> Map Api使用(八)
>
> 原因分析:
> gwt下map api配合的问题
>
> 解决办法:
> 1.对于map的调整可以通过监听window的resize事实来响应窗口的大小变化的问题。
>
> 代码示例:
>
> GEvent.addDomListener(window, 'resize', function(){
> map.checkResize();
> });
>
> 2.GWT的解决方案需要有针对性的解决。
>
> Map Api使用(九)
>
> 5. 如何开发自己的城市街景
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> 问题描述:
> 请教各位高人:
> 在下想了解有关google 街景二次应用的问题。我想建立自己的有关某个城市街景的网站,图片自己提供,基于google
> streeview。请问google目前有这个功能吗?
>
> Map Api使用(十)
>
> 原因分析:
>
> 没有仔细阅读API文档
>
> 解决办法:
> 阅读API示例。
>
> 地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/
> services.html#Streetview
>
> 域名与API Key(一)
>
> API Key是长期困扰开发者的一个问题。
>
> 开发者经常问的问题包括:
>
> 用域名还是用IP注册API KEY?
>
> 用域名要用那一个?
>
> 对于第一个问题,两者都可以,但是建议用域名。
>
> 对于第二个问题, 建议是用根目录,这样只需要注册一次KEY。
>
> 域名与API Key(二)
>
> 如何设置双域名的API?(或者多域名)
>
> 问题地址:
>
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> 原文描述:
>
> 我们网站是www.1.com域名 和www.1.com.cn格式的两个域名,指向同一asp程序网站,我要用到google地图,生成
> http://groups.google.com/group/google-maps-api-china/browse_thread/th...
>
> 问题描述:
>
> 大家好
> 在google地图上搜索餐馆
> 会根据地图大小显示数量不等的小红点,放到到一定级别后,这些点的数量有点惊人!
> 并且每个点都可点击,可弹出详细餐馆信息。 (续下)
>
> Map API 的高级应用(二)
>
> (续上)
>
> 请问这样的效果如何实现的?
> 我在本地测试的时候,加载5k个点就把浏览器拖死了
> 可是看google地图做的,可远不止这个数字
> ...
>
> read more »