俩个重要的js,一个负责查找(search.js),另外一个负责显示(maps.js)
<script type="text/javascript" language="javascript" src="http://api.51ditu.com/js/maps.js"></script>
<script type="text/javascript" language="javascript" src="http://api.51ditu.com/js/search.js"></script>
<script type="text/javascript" language="javascript">
var map,search;
function showPoint(searchResult)
{
if(searchResult.count>0)//如果存在搜索结果
{
map.clearOverLays();
var poi=searchResult.searchPoints[0]; //取出第一个搜索结果点
var point=new LTPoint(poi.point[0],poi.point[1]); //得到该点的坐标的LTPoint
map.centerAndZoom(point,0);
var marker=new LTMarker(point); //向地图上添加一个标记
map.addOverLay(marker);
var name=poi.name;
LTEvent.bind(marker,"click",marker,function(){this.openInfoWinHtml(name)}); //标记点击的时候弹出信息
}
else
{
alert('无结果');
}
}
</script>
<div id="mapDiv" style="width:600px; height:450px;"/>
<script type="text/javascript">
map=new LTMaps("mapDiv");
map.addControl(new LTStandMapControl());
search=new LTLocalSearch(showPoint);
var query_string_arr = location.search.substr(1).split('&');
if(query_string_arr.length == 2)
{
var city_key_val = query_string_arr[0].split('=')
var addr_key_val = query_string_arr[1].split('=')
if(city_key_val.length == 2 && addr_key_val.length == 2 &&city_key_val[1] != "" && addr_key_val[1] != "")
{
search.setCity(city_key_val[1]);
search.search(addr_key_val[1]);
}
}
</script>
只要传俩个参数过来就可以了,一个是城市的名字(setCity方法需要的参数),另外一个是详细地点(search方法的参数).
第一次写博客,以后会坚持.