api官网链接:

http://api.amap.com/Javascript/example#

http://api.amap.com/Javascript/plugin_detail/id/0


代码示例如下(保存为html打开可见效果如下图):


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>按关键字查询</title>
<!-- <style>
body{ margin:0; padding:0;font:12px/16px Verdana, Helvetica, Arial, sans-serif;}
</style> -->
<link rel="stylesheet" href="/Public/Css/demo.Default.css" type="text/css"/>
<script language="javascript" src="http://webapi.amap.com/maps?v=1.2&key=3e4ad80bb35e0d2f4a0ccd9779162923"></script>
<script language="javascript">
var mapObj;
var marker = new Array();
var windowsArr = new Array();
//基本地图加载
function mapInit() {
mapObj = new AMap.Map("iCenter",{
level:13,
center:new AMap.LngLat(116.397428,39.90923)
});
}
function placeSearch() {
var MSearch;
mapObj.plugin(["AMap.PlaceSearch"], function() {
MSearch = new AMap.PlaceSearch({ //构造地点查询类
city:"成都" //城市
});
AMap.event.addListener(MSearch, "complete", keywordSearch_CallBack);//返回地点查询结果
MSearch.search("宽窄巷子"); //关键字查询
});
}
//添加marker&infowindow
function addmarker(i, d) {
var lngX = d.location.getLng();
var latY = d.location.getLat();
var markerOption = {
map:mapObj,
icon:"http://api.amap.com/webapi/static/Images/" + (i + 1) + ".png",
position:new AMap.LngLat(lngX, latY)
};
var mar = new AMap.Marker(markerOption);
marker.push(new AMap.LngLat(lngX, latY));

var infoWindow = new AMap.InfoWindow({
content:"<h3><font color=\"#00a6ac\">" + (i + 1) + ". " + d.name + "</font></h3>" + TipContents(d.type, d.address, d.tel,d.location),
size:new AMap.Size(300, 0),
autoMove:true,
offset:new AMap.Pixel(0,-30)
});
windowsArr.push(infoWindow);
var aa = function (e) {infoWindow.open(mapObj, mar.getPosition());};
AMap.event.addListener(mar, "click", aa);
}
//回调函数
function keywordSearch_CallBack(data) {
var resultStr = "";
var poiArr = data.poiList.pois;
var resultCount = poiArr.length;
for (var i = 0; i < resultCount; i++) {
resultStr += "<div id='divid" + (i + 1) + "' onmouseover='openMarkerTipById1(" + i + ",this)' onmouseout='onmouseout_MarkerStyle(" + (i + 1) + ",this)' style=\"font-size: 12px;cursor:pointer;padding:0px 0 4px 2px; border-bottom:1px solid #C1FFC1;\"><table><tr><td><img src=\"http://api.amap.com/webapi/static/Images/" + (i + 1) + ".png\"></td>" + "<td><h3><font color=\"#00a6ac\">名称: " + poiArr[i].name + "</font></h3>";
resultStr += TipContents(poiArr[i].type, poiArr[i].address, poiArr[i].tel,poiArr[i].location) + "</td></tr></table></div>";
addmarker(i, poiArr[i]);
}
mapObj.setFitView();
document.getElementById("result").innerHTML = resultStr;
}
function TipContents(type, address, tel,location) { //窗体内容
if (type == "" || type == "undefined" || type == null || type == " undefined" || typeof type == "undefined") {
type = "暂无";
}
if (address == "" || address == "undefined" || address == null || address == " undefined" || typeof address == "undefined") {
address = "暂无";
}
if (tel == "" || tel == "undefined" || tel == null || tel == " undefined" || typeof tel == "undefined") {
tel = "暂无";
}
if (location == "" || location == "undefined" || location == null || location == " undefined" || typeof location == "undefined") {
location = "暂无";
}

var str = "地址:" + address + "<br />电话:" + tel + " <br />类型:" + type+"<br />经纬度:"+location;
return str;
}
function openMarkerTipById1(pointid, thiss) { //根据id 打开搜索结果点tip
thiss.style.background = '#CAE1FF';
windowsArr[pointid].open(mapObj, marker[pointid]);
}
function onmouseout_MarkerStyle(pointid, thiss) { //鼠标移开后点样式恢复
thiss.style.background = "";
}


function showmap()
{
mapInit();
placeSearch();

}
</script>
</head>
<body onload="showmap();">
<table width="661px" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div id="iCenter" style="height:300px;width=661px "></div></td>
</tr>

<hr>
<tr>
<td>
<div id="result" name="result" style="overflow:auto;margin-top:5px;width:661px;height:255px"></div>
</td>
</tr>
</table>
</body>
</html>


更多相关文章

  1. Python:笔记(7)——yield关键字
  2. FieldErro:无法将关键字'date_added'解析为字段。选项包括:data_ad
  3. linux下查找包含关键字的文件
  4. SQL Server 一些关键字详解(一)
  5. mysql关键字与表名字段相同的解决方法
  6. SQL关键字转换大写核心算法实现
  7. Java transient关键字学习
  8. java中final关键字详解
  9. java关键字个人理解

随机推荐

  1. Android在全球的市场份额雄起
  2. Android ActionBar 作为导航条的一个Bug
  3. android TabHost小结
  4. Android EditText 限制输入数字和字母设
  5. android selector 背景选择器
  6. Android系列教程之十:Intents and Intent
  7. Dagger2使用
  8. android监听键盘
  9. Android(安卓)5.X Activity过渡动画,以及
  10. Android的网络抓包工具Tcpdump