google map api 开发 google 地图弹出的infowidow是怎么做的

 我来答
huitudou060606
推荐于2016-11-14 · TA获得超过148个赞
知道答主
回答量:67
采纳率:100%
帮助的人:60.9万
展开全部
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script
src="http://ditu.google.com/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
type="text/javascript"></script>

<script type="text/javascript">
function load(){
//检查浏览器的兼容性.
if (GBrowserIsCompatible()){
//加载地图
var map=new GMap2(document.getElementById("map_canvas"));
//设置地图的中心坐标.
map.setCenter(new GLatLng(39.990168,116.295304),6);
//允许用户移动和缩放地图
map.addControl(new GSmallMapControl());
//允许用户在地图类型之间切换
map.addControl(new GMapTypeControl());

// 以下是定义一些基本信息
// 阴影,阴影偏移,信息框偏移
var icon = new GIcon();
icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
icon.shadowSize = new GSize(21, 29);
icon.iconAnchor = new GPoint(10, 30);
icon.infoWindowAnchor = new GPoint(9, 5);
icon.infoShadowAnchor = new GPoint(9, 5);

//在地图上标一个图标,点击就出现字
var html = "<s>这里是显示在信息框里的信息,支持HTML,已经加入了删除的格式</s>"; //这里是显示在信息框里的信息,支持HTML
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png"; //定义图标,一定要PNG格式的
icon.iconSize = new GSize(21, 29); //图标的宽和高
var point = new GPoint(116.429114, 39.934322); //图标标在地图的哪里

var marker = createMarker(point, icon ,html);
map.addOverlay(marker);
//标一个图标完毕

//在地图上再标一个图标,点击就出现字,修改的方法如上
html = "<i>单纯的文字~</i>";
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.iconSize = new GSize(21, 29);
point = new GPoint(115.429424, 39.934322);

marker = createMarker(point, icon ,html);
map.addOverlay(marker);
//标一个图标完毕,这段代码复制多少个,就有多少个图标,只要改改里面的东东就可以了

//在地图上再标一个图标,点击就出现字,改的方法如上
html = "点击<a href='#' target='_self'>这里</a>,看看链接是怎么做出来的~";
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.iconSize = new GSize(21, 29);
point = new GPoint(114.429314, 39.934522);

marker = createMarker(point, icon ,html);
map.addOverlay(marker);
//标一个图标完毕,这段代码复制多少个,就有多少个图标,只要改改里面的东东就可以了

//在地图上再标一个图标,点击就出现字,改的方法如上
html = '<div ><font color="blue">这是单纯的文字显示~</font></div>';
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.iconSize = new GSize(21, 29);
point = new GPoint(112.429714, 39.934522);

marker = createMarker(point, icon ,html);
map.addOverlay(marker);
//标一个图标完毕,这段代码复制多少个,就有多少个图标,只要改改里面的东东就可以了

//最后一个图标将一开始显示下面的内容
defaultmsg = '<div><font color="red">这里是显示在信息框里的内容,支持HTML~</font></div>'; //这里是显示在信息框里的内容,支持HTML
marker.openInfoWindowHtml(defaultmsg);

}
}

function createMarker(point, baseIcon, html) {
var icon = new GIcon(baseIcon);
var marker = new GMarker(point, icon);

GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});

return marker;
}

</script>
</head>
<body onload="load()" onunload="GUnload()">

<!-- 地图画板 -->
<div id="map_canvas" style="width:640px; height:480px"></div>
</body>
</html>
这是v2版本的 以前做的 语法都一样 你自己建个Html格式看看
如果你是初学者 不建议从数据库中取数据 能简单实现就好 对于熟悉的人来说半个小时搞定
对于不熟悉的还是不太容易 google map API 能看懂 会用就行 做了这么多年的map 让我写 我写不出来 会找 会该就行了 如果对Javascript 比较熟悉 还是比较简单的
zyc
2012-03-29 · 知道合伙人软件行家
zyc
知道合伙人软件行家
采纳数:328 获赞数:5073
擅长数据通信、路由器组网、C++语言、数据库SQL语言、GP

向TA提问 私信TA
展开全部
用如下的方法,在java代码里做出来:
html ='<div style="width: 22em">'
+'<a>'+'序号:'+id
+'小编号:'+markerHash[id].ssn+'</a>'
+'<br>'+ markerHash[id].address
+'北纬:'+markerHash[id].lat
+',东经:'+ markerHash[id].lng
+'</br>'
+'<p>'+ '<img height="218" title="'+'../images/new100/'
+markerHash[id].img_nm
+'.JPG"'
+'src="'+'../images/new100/'
+markerHash[id].img_nm
+'.JPG"'
+'></a></p>'
+'</div>';
markerHash[id].marker.openInfoWindowHtml(html) ;
这个代码是我开发的一个应用,窗口中已经包含了文本信息、超链接、照片信息(编号、地理信息、照片名称均取自数据库),用ror架构开发(ruby on rails2.0)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式