google API中文同步文档:http://www.codechina.org/doc/google/gmapapi/
该例子是建立在网上 前辈的功劳的基础之上的:
通过一个servlet来解析,得到要查询地址的经度和纬度:
package cn.org.map;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MapServlet extends HttpServlet {
private static final long serialVersionUID = -6023775612606386229L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* 这里采用的是 csv格式的展现:例如:200,9,34.2334040,108.8691760,按照逗号区分。这里要提取的是后面2个值。一个表示"经度",另外一个表示"纬度"
* 这里在地图上面显示的是一个 位置
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String addressOrPoint = request.getParameter("addressOrPoint");
System.out.println("--addressOrPoint--:"+addressOrPoint);
if(addressOrPoint !=null && !"".equals(addressOrPoint)){
String data = parseAddressAndPoint(addressOrPoint,"csv", "abcdefg");//获得的结果
if(data !=null ){
String[] strArr = data.split(",");
request.setAttribute("xxx", strArr[2]);//经度
request.setAttribute("yyy", strArr[3]);//纬度
}
}
request.getRequestDispatcher("index.jsp").forward(request, response);
}
public void init() throws ServletException {
}
/**
* 解析地址和反解析纠经度
* @param addressOrPoint : 中英文地址,或者是 纬经度,不是经纬度
* @param outPutType :这三个数据类型 : xml、json、csv 注:输出格式建议用JSON或CSV,XML格式有时候不能正常显示,比如 中国:35.8616600,104.1953970
* @param googleKey : 如果项目发布在网络上,可能要从GOOGLE申请一个GOOGLE MAP KEY才能正常使用
* 参考:http://code.google.com/intl/zh-CN/apis/maps/documentation/services.html#Geocoding_Object
*/
public String parseAddressAndPoint( String addressOrPoint, String outPutType, String googleKey){
try {
// http://ditu.google.cn 而不用 http;//map.google.com 原因是不能正常解析中文
String url = "http://ditu.google.cn/maps/geo?output="+outPutType+"&q="+java.net.URLEncoder.encode(addressOrPoint,"UTF-8")+"&sensor=false&key="+googleKey;
URL myUrl = new URL(url);
URLConnection httpConn = myUrl.openConnection();
InputStreamReader isr = new InputStreamReader(httpConn.getInputStream(),"UTF-8");//读取数据,并设置数据编码
int responseInt = isr.read();
StringBuffer sb = new StringBuffer();
while(responseInt != -1){
sb.append((char)responseInt);
responseInt = isr.read();
}
String str = sb.toString();
System.out.print(str);
return str;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
welcome页面:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'welcome.jsp' starting page</title>
</head>
<body>
<form action="MapServlet.do" method="post">
<table align="center" width="400" border="1">
<tr><td align="right">地点</td><td align="left"><input name="addressOrPoint"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="提交"></td></tr>
</table>
</form>
</body>
</html>
转向页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
//var center = new GLatLng(34.2351770, 108.8923490);
var center = new GLatLng(${xxx}, ${yyy});
map.setCenter(center, 13);
//GMarker定义显示标记,draggable: false 表示标记不允许拖动
var marker = new GMarker(center, {draggable: false});
map.addOverlay(marker);
}
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 800px; height: 600px"></div>
</body>
</html>
分享到:
相关推荐
Hadoop 是一个开源框架,它实现了MapReduce模型,使得用户可以编写并运行分布式应用程序处理海量数据。本文将深入解析Hadoop MapReduce的工作流程,帮助你更好地理解和使用这个强大的工具。 MapReduce的过程通常...
HDFS是Google的GFS(Google File System)的开源实现,它是一个分布式文件系统,设计用于跨多台服务器存储和处理大型数据集。在HDFS中,NameNode作为主节点,负责元数据管理,包括文件系统的命名空间和文件的块映射...
Java生成二维码主要依赖于特定的库,如`com.google.zxing`(ZXing,意为“Zebra Crossing”),这是一个开源的多格式一维/二维条码图像处理库,支持多种编码格式,包括QR码。 要使用ZXing库生成二维码,首先需要将...
UnityUGUIui上显示3D模型游戏物体_ugui显示3d模型.zip
功能简介 这个 Streamlit 应用将包含以下模块: 位置编码可视化 输入最大序列长度和维度,展示 Positional Encoding 的正弦余弦曲线。 自注意力计算演示 输入一组 token,展示其 self-attention 权重矩阵。 Masked Attention 动画 动画展示 Decoder 中 Masked Attention 的计算过程与屏蔽区域。 因果性建模可视化 输入一个句子,查看其每一步生成时关注的上下文。 残差连接 + LayerNorm 流程图 可视化每一层的残差路径和归一化流程。
毕业设计-响应式轻拟物主题niRvana V2.6.0-整站商业源码.zip
易优文档关键词管理插件.zip
内容概要:本文介绍了基于Matlab和CVX的电动汽车充电站能量调度策略,旨在提高光伏出力利用率并减少发电量波动。文中提出了一种充放电灵活度评估模型,根据不同运行模式(饥饿模式或饱和模式)动态调整电价,以最大化光伏利用率和充电任务完成率。同时,充分运用V2G服务,增强电动汽车与充电站的合作。仿真结果显示,该策略不仅提高了光伏利用率,还增强了电力系统的稳定性和经济效益。 适合人群:从事新能源研究的技术人员、电力系统工程师、科研工作者。 使用场景及目标:适用于研究和开发电动汽车充电站能量管理系统的机构和个人,目标是提高光伏利用率、减少电力波动、优化充电站运营。 其他说明:文中提供了详细的程序注释、CVX求解器安装包和安装方法,便于读者理解和复现实验结果。
实训商业源码-牧场养牛-论文模板.zip
ZH1105柴油机气缸体三面粗镗组合机床设计(夹具设计).rar
干法水泥回转窑工艺布置图.rar
内容概要:WPS灵犀免费版正式接入DeepSeek R1大模型,推出冬季2024灵犀免费版,成为首款国产AI原生办公套件。该版本具有三大颠覆性突破:深度集成DeepSeek R1,无需第三方插件;全免费且覆盖多种办公场景;效率实测提升300%。文章详细介绍了六大应用场景,包括智能写作、表格处理、PPT设计、代码办公、多模态创作和跨文档知识管理,并提供了详细的启用步骤和避坑指南。此外,还针对企业用户和高级用户提供了商用授权和API接入等进阶玩法。 适合人群:学生、职场人士、开发者以及需要高效办公的所有用户。 使用场景及目标:①智能写作,快速生成高质量文档;②表格处理,实现复杂公式的自动推导和异常检测;③PPT设计,自动生成专业美观的演示文稿;④代码办公,生成和优化编程代码;⑤多模态创作,生成流程图和数据可视化图表;⑥跨文档知识管理,快速总结文献和识别合同风险。 其他说明:提供全网独家下载地址和避坑指南,确保用户顺利安装和使用。企业用户需申请商用授权,费用为0.1元/千tokens。用户反馈显示,WPS灵犀版大幅提升了工作效率,解决了多个痛点问题。立即下载体验,开启AI办公新纪元。
盖冒垫片模具设计.rar
Φ273钢管矫直机主传动系统设计.rar
对农业玉米脱粒机的总体结构设计.rar
浮头式换热器设计.rar
ssm055基于spring框架的中小企业人力资源管理系统的设计及实现(文档+源码)_kaic
内容概要:本文系统梳理了中国零售分销体系中零供合作的现状与挑战,汇集了行业实践案例与创新思路,同时借鉴国际经验,探索适合中国市场的流通模式。文章指出,中国零售分销体系正经历重大变化,零供关系从“博弈”转向“协同”。文中分析了日本、欧美市场的零供合作模式及其特点,对比了中国市场的现状与挑战。此外,文章强调了政策法规对零供关系健康发展的重要性,并提出了未来零供协同的具体举措,如强化政策引导、深化行业能力建设、搭建高效合作平台、加速零售技术革新等。 适用人群:零售行业从业者、供应链管理人员、政策制定者、研究者。 使用场景及目标:①帮助企业理解零供关系的演变趋势及面临的挑战;②为政策制定者提供参考,完善相关法律法规;③为研究者提供详实的行业数据和案例分析;④为企业提供具体的零供协同实施路径和成功案例借鉴。 其他说明:本文通过大量的行业调研和案例分析,揭示了零供关系从“博弈”到“协同”的必然趋势,强调了数字化转型和政策法规对零售分销体系健康发展的重要性。文中提到的优秀案例展示了零供协同在提升效率、降低成本、增强市场竞争力等方面的显著效果,为行业提供了宝贵的实践经验。
考虑居民响应行为的生活垃圾分类回收政策模拟仿真研究.zip