javaweb中使用百度、谷歌地图进行定位

之前给一个公司做了一个定位,调用一个接口获得经纬度,然后在地图上显示,

之前我做了三种显示,百度、谷歌、搜狗,搜狗和百度类似,这里就介绍百度和谷歌了,

之前我们在一个城市里面坐了测试,不一定很准确,但是比较出来的结果是

就定位来说  谷歌是比百度要精准的,包括一些位置的信息,都比较全,但是因为谷歌在中国的处境来说,现在很多机房的服务器都把谷歌给禁用了,根据情况来看吧! 


第一种  百度

直接上代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="com.webapp.entity.*"%>
<%@ page import="java.util.*"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>百度地图</title>
<style type="text/css">
html {
    height: 100%
}

body {
    height: 100%;
    margin: 0px;
    padding: 0px
}

#container {
    height: 100%
}
</style>
<script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>
</head>

<body>
    <input type="text" id="cityName" value="武汉" />
    <input type="button" οnclick="setCity()" value="查找" />
    <div id="container" style="width: 1024px; height: 600px;"></div>

    <script type="text/javascript">
    
        var map = new BMap.Map("container");             // 在container容器中创建一个地图,参数container为div的id属性;
        var point = new BMap.Point(120.2, 30.25);         // 创建点坐标
        map.centerAndZoom(point, 14);                     // 初始化地图,设置中心点坐标和地图级别
        map.enableScrollWheelZoom();                     // 激活滚轮调整大小功能
        map.addControl(new BMap.NavigationControl());     // 添加控件:缩放地图的控件,默认在左上角;
        map.addControl(new BMap.MapTypeControl());         // 添加控件:地图类型控件,默认在右上方;
        map.addControl(new BMap.ScaleControl());         // 添加控件:地图显示比例的控件,默认在左下方;
        map.addControl(new BMap.OverviewMapControl());     // 添加控件:地图的缩略图的控件,默认在右下方; TrafficControl    
        
        var search = new BMap.LocalSearch("中国", {
            onSearchComplete : function(result) {
                if (search.getStatus() == BMAP_STATUS_SUCCESS) {
                    var res = result.getPoi(0);
                    var point = res.point;
                    map.centerAndZoom(point, 11);
                }
            },
            renderOptions : { //结果呈现设置,
                map : map,
                autoViewport : true,
                selectFirstResult : true
            },
            onInfoHtmlSet : function(poi, html) {//标注气泡内容创建后的回调函数,有了这个,可以简单的改一下返回的html内容了。
                // alert(html.innerHTML)
            }//这一段可以不要,只不过是为学习更深层次应用而加入的。
        });

        function setCity() {
            search.search(document.getElementById("cityName").value);
        }

        search.search(document.getElementById("cityName").value);
    </script>

</body>

</html>


第二种:  谷歌

首先引入  <script type="text/JavaScript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

代码如下  

js代码

var myLatlng = new google.maps.LatLng(ret.attache.json.lat, ret.attache.json.lng);// 中国地图全图
 var optMap = 
{
zoom: 15, 
center: myLatlng,
streetViewControl:false,
mapTypeControl: true,
mapTypeControlOptions: {
 mapTypeIds: [/**google.maps.MapTypeId.SATELLITE ,google.maps.MapTypeId.HYBRID* */], // comment
 position: google.maps.ControlPosition.TOP_LEFT
},
// navigationControl: true,
navigationControlOptions: {
 style: google.maps.NavigationControlStyle.DEFAULT,
 position: google.maps.ControlPosition.LEFT
},
//ROADMAP SATELLITE  
mapTypeId: google.maps.MapTypeId.ROADMAP
};
 map = new google.maps.Map(document.getElementById('Container'),optMap);
 map.setOptions({Zoom:18,center:myLatlng});

html
<div id="locationDiv" >
<div id="container" style="position:relative; width:450px; height:300px;"></div>
</div>

这个网址是百度地图免费开放的一些案例,内容非常丰富,但是有些使用是收费的,大家可以根据自己需要进行学习。
http://developer.baidu.com/map/jsdemo.htm#d0_4

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
任何 Google 地图 API 应用程序的基础元素都是“地图”本身。 大量应用js,访问Google 的API。 在此之前较为麻烦的事申请Google 的key,相比都知道,Google 在国市场的地位,因此Google 的key较难申请, .Google Maps API 申请方式变更在Google Maps API 的部份,官方网站目前是建议使用新版本(v3)的API 进行开发,若您仍希望继续使用v2 的版本进行开发,您可能需要进行部份设定的修改,底下是设定的流程:   1.使用Google帐号登入APIs Console (https://code.google.com/apis/console),并将Google Maps API v2的选项打开,如下图所示: Google Maps API v2设置   2.依据您的需求产生对应的Google Maps API Key ,若您是要继续采用v2 版本的方式使用Google Maps API ,请选择「Create new Browser Key」,之后将产生的Key 依据过去的方式填入对应的位置即可 注意V2版本对应的选项   需要注意的是:   1.依目前观察,已经在使用的Google Maps API Key 是可以继续使用,并不会因为产生Key 的方式改变而有所变更。   2.新的方式会统计并限制使用量(目前是限制每天25,000 次查询),若超过用量则需给付相关费用才可继续使用。 最近发现好多google的域名不能访问了!包括Android开发SDK都不能更新了!解决方法: 修改hosts文件 添加: 74.125.71.99 code.google.com 74.125.71.99 encrypted.google.com 74.125.71.99 suggestqueries.google.com 74.125.71.99 mail.google.com 74.125.71.99 groups.google.com 74.125.71.99 groups.google.com.hk 74.125.71.99 docs.google.com 74.125.71.99 docs0.google.com 74.125.71.99 docs1.google.com 74.125.71.99 spreadsheets.google.com 74.125.71.99 spreadsheets0.google.com 74.125.71.99 webcache.googleusercontent.com 74.125.71.99 sites.google.com 74.125.71.99 talkgadget.google.com 74.125.71.99 clients1.google.com 74.125.71.99 clients2.google.com 74.125.71.99 clients3.google.com 74.125.71.99 clients4.google.com 整个开发有些事情较做只可意会,不可言传,当然纯属的代码并不是最大的效益,需要文档的可以找我,工程部署不了的可以联系我。 email:[email protected] MSN:[email protected]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值