A. 在jsP页面插入离线电子地图模块,不要谷歌或者百度那种在线的API,要离线能使用的地图。
如果只是静态的地图图片的话, 使用js 就可以做到。
添加 这个图片的 点击事件。
当点击的时候,获得点击事件,鼠标相对于图片的相对位置。
弹出对话框,显示业务数据
点击确定后,在这个图片的相对位置,添加一个小的span 作为标记。 然后数据连同这个位置的相对位置 入库。
显示也简单,在文档载入的时候, 读取数据库的记录, 然后循环,根据数据库的相对位置,js动态生成小标记span,设置基于图片的相对位置。点击标记时,根据数据唯一标识。查询数据,并显示在弹出框里面。
B. jsp需要引进离线地图。应该怎么弄
参考下网络地图API或者google地铁API
下载网络离线地图 以及网络离线地图工具,应该有个js文件以及离线地图文件夹 你的jsp页面引入JS文件,然后跟在线使用差不多
C. java类方法中百度地图API
网络地图Web服务为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。
api官网说明链接:
http://developer..com/map/webservice.htm
1、可用接口列举:
获取相关地址提示 place suggestion
http://api.map..com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=
2、获取坐标 geocoding
http://api.map..com/geocoder?address=锦江区菱安路299号&output=json&key=
http://api.map..com/place/v2/search?ak=&output=json&query=蓝光coco金沙&page_size=10&page_num=0&scope=1®ion=成都
{
"status":0,
"message":"ok",
"total":2,
"results":[
{
"name":"蓝光COCO金沙",
"location":{
"lat":30.687544,
"lng":103.996691
},
"address":"西三环外金沙西源大道(IT大道旁)",
"uid":"223992992c5ee7e0841541df"
},
{
"name":"蓝光COCO金沙2期",
"location":{
"lat":30.681123,
"lng":103.991123
},
"address":"青羊区金沙IT大道旁",
"uid":"b7bb5abb1cd4982213293580"
}
]
}
3、设施导航
http://api.map..com/place/v2/search?ak=&output=json&query=图书馆&page_size=20&page_num=0&scope=2®ion=成都
4、java测试类:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class LocationUtil {
private static final String BAIDU_APP_KEY = "";
/**
* 返回输入地址的经纬度坐标 key lng(经度),lat(纬度)
*/
public static Map<String, String> getLatitude(String address) {
try {
// 将地址转换成utf-8的16进制
address = URLEncoder.encode(address, "UTF-8");
// 如果有代理,要设置代理,没代理可注释
// System.setProperty("http.proxyHost","192.168.172.23");
// System.setProperty("http.proxyPort","3209");
URL resjson = new URL("http://api.map..com/geocoder?address="
+ address + "&output=json&key=" + BAIDU_APP_KEY);
BufferedReader in = new BufferedReader(new InputStreamReader(
resjson.openStream()));
String res;
StringBuilder sb = new StringBuilder("");
while ((res = in.readLine()) != null) {
sb.append(res.trim());
}
in.close();
String str = sb.toString();
System.out.println("return json:" + str);
if(str!=null&&!str.equals("")){
Map<String, String> map = null;
int lngStart = str.indexOf("lng\":");
int lngEnd = str.indexOf(",\"lat");
int latEnd = str.indexOf("},\"precise");
if (lngStart > 0 && lngEnd > 0 && latEnd > 0) {
String lng = str.substring(lngStart + 5, lngEnd);
String lat = str.substring(lngEnd + 7, latEnd);
map = new HashMap<String, String>();
map.put("lng", lng);
map.put("lat", lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String args[]) {
Map<String, String> map = LocationUtil.getLatitude("成都 高新西区西区大道1398号");
if (null != map) {
System.out.println(map.get("lng"));
System.out.println(map.get("lat"));
}
}
}
D. 好租网的地图找房功能怎么用JSP实现,具体的说是它怎么将数据库的多条数据放到JSP界面的,具体如下图:
地图可以使用网络地图实现,有开源的源代码,阅读api了解之后,开发,通过定位坐标,然后给一个事件,传递一些参数,打开展示的jsp,到数据库中查找,组织,展示。希望对你有帮助