此代码为引用百度地图搜索名称显示功能
可以通过如下代码实现搜索功能,可以在地图上显示出标点,可以在下面列表中显示出内容
但是,我想得到上面所有显示标点的经纬度集合,不知道用何种办法<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>本地搜索配置</title>
<script type="text/javascript"
src="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.1&services=true">

</script>
</head>
<body onload="load()">
<%
String scname = request.getParameter("scname"); if (scname == null) {
scname = "";
} else {
scname = new String(scname.getBytes("iso-8859-1"), "gbk");
}
%>
<form action="#"><input type="text" name="scname"
value="<%=scname%>" id="scname" /><input type="submit" value="提交" /></form>
<div style="width: 800px; height: 400px; border: 1px solid gray"
id="container"></div>
<div id="results"
style="width: 800px; height: 100px; font-size: 13px; margin-top: 10px;"></div>
</body><script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(123.432791, 41.808645), 12); function load() {
var scname = document.forms[0].scname.value; if (scname != null && scname.length > 0) {
var local = new BMap.LocalSearch("沈阳市", {
renderOptions : {
map : map,
panel : "results",
autoViewport : true,
selectFirstResult : false
}
}); local.search(scname);
}
}
</script>
</html>

解决方案 »

  1.   

    http://openapi.baidu.com/map/pick/index.html用百度的坐标拾取系统把,
    看下源码。
      

  2.   

    这种通过点击获得经纬度的方式我已经知道如何实现了,
    问题是不知道如何对搜索结果获得经纬度,
    因为对结果的标注点进行点击的话,如果位置不同,获得的经纬度值也不同了,毕竟是按照鼠标点击的位置来获取的
    所以,还是想通过搜索后,直接返回结果集合标注点对应的所有经纬度
    看过了api但是没找到对应的方法
    希望知道的告诉一下,分不够可以再加
      

  3.   

    点击获得坐标经纬度是通过鼠标的click事件,在当前地图中捕获的,
    而搜索的时候没有这个事件啊
      

  4.   

    我再补充一下,我可以通过点击地图得到点击点的经纬度,但是得到的不是我想要的标注点的经纬度
    我追加一下代码,大家调试一下就明白我说的意思了,每次鼠标稍微移动一下,经纬度就变了,因为得到的是鼠标点击处的经纬度,所以这种方式被我抛弃了
    大家点击上面的标注点,那么大个图片,稍微移动着,在标注点的范围内点击,看看出现什么,就明白了<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>本地搜索配置</title>
    <script type="text/javascript"
    src="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.1&services=true">

    </script>
    </head>
    <body onload="load()">
    <%
    String scname = request.getParameter("scname"); if (scname == null) {
    scname = "三好街";
    } else {
    scname = new String(scname.getBytes("iso-8859-1"), "gbk");
    }
    %>
    <form action="#"><input type="text" name="scname"
    value="<%=scname%>" id="scname" /><input type="submit" value="提交" /></form>
    <div id="info" style="width: 800px; height: 100px;"></div>
    <div style="width: 800px; height: 400px; border: 1px solid gray"
    id="container"></div>
    <div id="results"
    style="width: 800px; height: 100px; font-size: 13px; margin-top: 10px;"></div>
    </body><script type="text/javascript">
    var map = new BMap.Map("container");
    map.centerAndZoom(new BMap.Point(123.432791, 41.808645), 12);
    map.addEventListener("click", function(e) {
    document.getElementById("info").innerHTML = document.getElementById("info").innerHTML+"<br/>"+e.point.lng + ", "+ e.point.lat;
    }); function load() {
    var scname = document.forms[0].scname.value; if (scname != null && scname.length > 0) {
    var local = new BMap.LocalSearch("沈阳市", {
    renderOptions : {
    map : map,
    panel : "results",
    autoViewport : true,
    selectFirstResult : false
    }
    }); local.search(scname);
    }
    }
    </script>
    </html>
      

  5.   

    我是知道你是通过点击地图的,我上面说的是,点击地图后调用的click响应方法,能想办法去获得吗?
      

  6.   

    search返回的对象中,没找到对应点击click的方法,应该是封装起来了
      

  7.   

    用google 那一套 API 比较给力 
      

  8.   

    难道真的因为这么一个应用让我转成google地图?
      

  9.   

    google提供了webservice接口的,直接调就行了,不需要改太多
      

  10.   

    String urls = "http://maps.google.com/maps/api/geocode/xml?latlng="+ly+","+lx+"&sensor=false";
            URL url = new URL(urls);   
            BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));   
            String s = "";   
            StringBuffer sb=new StringBuffer();   
            br.readLine();
            while((s = br.readLine())!=null){   
                sb.append(s+"\r\n");   
            }   
            br.close();  不知道这段代码对你有用吗?你只需要把经纬度坐标传进去就得到相关的地理信息了,so easy