Google Map API的使用,实现类似“海内存知己,天涯共饭否”
来源:互联网 发布:11对战平台 mac 编辑:程序博客网 时间:2024/05/29 13:58
源码下载(javascript实现)
效果参考:海内存知己,天涯共有趣
原理:
var YOUQU=function()//定义一个javascript类
{
var map;
var s=document.createElement('script');
s.type='text/javascript';
s.src='http://www.youqubar.com/api/status_json?'+Math.random()+'&count=20&callback=YOUQU.callBack';
document.getElementsByTagName('head')[0].appendChild(s);
}
function parseDataToHTML(src){//src是json中的一个数据,该函数是形成这个数据的表示层html代码
var html='<div class="entry">';
html+='<p class="s'+Math.ceil(Math.random()*10)+'">'+src.text+'</p><a href="'+src.user.url+'" _fcksavedurl=""'+src.user.url+'"" _fcksavedurl=""'+src.user.url+'"" target="_blank" class="avatar"><img width="48" src="'+src.user.profile_image_url+'" />'+src.user.name+'</a> 在 <strong>'+(src.user.location||'地球上')+'</strong> <em>'+src.created_at
+'</em><a href="'+src.user.uurl
+'" target="_blank"><img src="'+src.user.upic+'" /></a></div>';
return html;
}
function getPoint(location){//这是个通用函数,根据位置返回在map上的点
if(location==''){
return new GLatLng(34.68491,112.47605);
}
else{
var ltp=LTPlaceList.getDefault();
var tmp=location.split(' ');
var province=tmp[0],city=tmp[1];
var place=ltp.searchPlace(province,1);
if(place&&place[0]){
var clds=place[0].getChildren();
if(!city||clds.length==0){
var lat=place[0].getPoint().getLatitude()/100000,lng=place[0].getPoint().getLongitude()/100000;
}else{
for(var i=0,n=clds.length;i<n;++i){
if(city==clds[i].getName()){
var lat=clds[i].getPoint().getLatitude()/100000,lng=clds[i].getPoint().getLongitude()/100000;break;
}
}
}
return new GLatLng(lat,lng);
}else{
return new GLatLng(31.22,126);
}
}
}
return{
callBack:function(jsonSource){//定义上面用到的YOUQU.callback,实现定时地图上出现气泡,显示json一个数据
var counter=document.getElementById('num');
for(var i=0,n=jsonSource.length;i<n;++i){
(function(){
var p=i;
setTimeout(function(){
map.openInfoWindowHtml(getPoint(jsonSource[p].user.location),parseDataToHTML(jsonSource[p]));
counter.innerHTML=19-p;
},p*5000);
})();
}
},
init:function(){//初始化,大部分是通用函数
if(GBrowserIsCompatible()){
map=new GMap2(document.getElementById('map'));
map.setCenter(new GLatLng(34.68491,112.47605),6);
map.addControl(new GLargeMapControl());
map.addControl(new GOverviewMapControl());
scratchJson();
setInterval(scratchJson,100000);}//定时调用scratchJson使得map上总是显示最新的数据
else {alert("对不起,您的浏览器不支持本站的功能,建议使用开源好用的Firefox: http://getfirefox.com");}
}
}
}();
其他部分可以参考“海内存知己,天涯共有趣”页面源代码,里边用到google map api以及api.51ditu.com做地理解码
这篇文章实际上介绍给新一代互联网开发者一种访问Google Map API的方法,形成自己网站用户的活动map
这也是现在流行的开发模式,欢迎大家使用有趣吧的API开发出好的应用
欢迎访问有趣吧开发者论坛
效果参考:海内存知己,天涯共有趣
原理:
var YOUQU=function()//定义一个javascript类
{
var map;
var s=document.createElement('script');
s.type='text/javascript';
s.src='http://www.youqubar.com/api/status_json?'+Math.random()+'&count=20&callback=YOUQU.callBack';
document.getElementsByTagName('head')[0].appendChild(s);
}
function parseDataToHTML(src){//src是json中的一个数据,该函数是形成这个数据的表示层html代码
var html='<div class="entry">';
html+='<p class="s'+Math.ceil(Math.random()*10)+'">'+src.text+'</p><a href="'+src.user.url+'" _fcksavedurl=""'+src.user.url+'"" _fcksavedurl=""'+src.user.url+'"" target="_blank" class="avatar"><img width="48" src="'+src.user.profile_image_url+'" />'+src.user.name+'</a> 在 <strong>'+(src.user.location||'地球上')+'</strong> <em>'+src.created_at
+'</em><a href="'+src.user.uurl
+'" target="_blank"><img src="'+src.user.upic+'" /></a></div>';
return html;
}
function getPoint(location){//这是个通用函数,根据位置返回在map上的点
if(location==''){
return new GLatLng(34.68491,112.47605);
}
else{
var ltp=LTPlaceList.getDefault();
var tmp=location.split(' ');
var province=tmp[0],city=tmp[1];
var place=ltp.searchPlace(province,1);
if(place&&place[0]){
var clds=place[0].getChildren();
if(!city||clds.length==0){
var lat=place[0].getPoint().getLatitude()/100000,lng=place[0].getPoint().getLongitude()/100000;
}else{
for(var i=0,n=clds.length;i<n;++i){
if(city==clds[i].getName()){
var lat=clds[i].getPoint().getLatitude()/100000,lng=clds[i].getPoint().getLongitude()/100000;break;
}
}
}
return new GLatLng(lat,lng);
}else{
return new GLatLng(31.22,126);
}
}
}
return{
callBack:function(jsonSource){//定义上面用到的YOUQU.callback,实现定时地图上出现气泡,显示json一个数据
var counter=document.getElementById('num');
for(var i=0,n=jsonSource.length;i<n;++i){
(function(){
var p=i;
setTimeout(function(){
map.openInfoWindowHtml(getPoint(jsonSource[p].user.location),parseDataToHTML(jsonSource[p]));
counter.innerHTML=19-p;
},p*5000);
})();
}
},
init:function(){//初始化,大部分是通用函数
if(GBrowserIsCompatible()){
map=new GMap2(document.getElementById('map'));
map.setCenter(new GLatLng(34.68491,112.47605),6);
map.addControl(new GLargeMapControl());
map.addControl(new GOverviewMapControl());
scratchJson();
setInterval(scratchJson,100000);}//定时调用scratchJson使得map上总是显示最新的数据
else {alert("对不起,您的浏览器不支持本站的功能,建议使用开源好用的Firefox: http://getfirefox.com");}
}
}
}();
其他部分可以参考“海内存知己,天涯共有趣”页面源代码,里边用到google map api以及api.51ditu.com做地理解码
这篇文章实际上介绍给新一代互联网开发者一种访问Google Map API的方法,形成自己网站用户的活动map
这也是现在流行的开发模式,欢迎大家使用有趣吧的API开发出好的应用
欢迎访问有趣吧开发者论坛
- Google Map API的使用,实现类似“海内存知己,天涯共饭否”
- Google Map API的使用
- 海内存知己,天涯共淘宝
- android google map api的具体使用
- Google Map Place API的初步使用
- Google Map API使用详解(十三)——使用Google Map API实现自定义控件
- Google Map API使用中出现的“google未定义”解决办法
- 关于 使用google map API
- 使用google map v2 api
- 使用Google Map API v2
- 使用Google Map API v2
- Google Map API 使用总结
- Google Map API使用详解(十四)——使用Google Map提供的默认控件
- Google Map API使用详解(十六)——使用GMapOptions定制你的Google Map
- google的map的api
- Java通过google map api实现地址解析的方法
- Google Map Api 的应用
- 如何使用google map api制作自己的地图(转载)
- JavaScript学习
- asp.net2.0生成验证码,并显示验证码
- 微软的软件测试方法
- 简单的做起。。。
- 诺基亚N73音乐版与网络增强版的区别
- Google Map API的使用,实现类似“海内存知己,天涯共饭否”
- 再说一下Properties
- 自己写的GRID控件源码(头文件)
- 自己写的GRID控件源码(源文件)
- JavaScript学习2
- [13F · 开源] WordsLand个人资料管理
- 人生经典话语(一)
- 有两个我认为很好的中文域名,希望帮忙开发
- 无题七言律诗一首