80,350
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.master, .master a { color:White;background-color:#FF3333; }
.content { background-color:#F0F0F0; }
.xy { width:120px; }
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
<script type="text/javascript" src="http://dev.baidu.com/wiki/static/map/API/examples/script/changeMore.js"></script>
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
<title>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="background-image:url('bg.gif');margin-top: 2;">
<form name="aspnetForm" method="post" action="MapViewer.aspx" id="aspnetForm">
<div>
<table width="1000px" align="center">
<tr>
<td align="left" class="master">
经度<input type="text" name="x" id="x" class="xy">
纬度<input type="text" name="y" id="y" class="xy">
坐标类型<select name="type" id="type">
<option value="0" selected>谷歌</option>
<option value="4" >百度</option>
</select>
<input type="button" value="GO" onclick="showxy()">
点击位置<span id="pick" style="background-color:gray;"></span>
</td>
</tr>
<tr>
<td class="content">
<div style="width:100%;height:600px;border:1px solid gray;display:block" id="container">
</div>
</td>
</tr>
</table>
</div>
</form>
<script type="text/javascript">
var map = new BMap.Map("container", { enableMapClick:true });
map.addControl(new BMap.Control()); //添加地图类型控件
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
//map.setCurrentCity("江苏常州");
map.centerAndZoom(new BMap.Point(119.9746, 31.82844), 13);
map.enableScrollWheelZoom(true);
var i;
var markers = [];
map.addEventListener("click", function(e) {
$("pick").innerHTML = e.point.lng + "," + e.point.lat;
});
var tm = [];
/// 在浏览器地图上显示一个标记
/// point 为百度坐标点对象
function showPoint(point) {
map.setCenter(point); // 如果是第一个坐标, 移动地图显示它
var marker = new BMap.Marker(point);
map.addOverlay(marker);
var txt = "经度:" + ox+ ",纬度:" + oy;
var label = new BMap.Label(txt, { offset: new BMap.Size(20, -10) });
marker.setLabel(label); //添加百度label
marker.addEventListener("click", function(e) {
this.openInfoWindow(new BMap.InfoWindow(txt));
});
}
function showInfo(obj) {
obj.currentTarget.openInfoWindow(obj.currentTarget.infoWindow);
}
/// 原始经度,纬度
var ox, oy;
/// 传入一个原始坐标, 通过百度API转换后再显示
function DoNext(gpsx, gpsy) {
ox = gpsx; oy = gpsy;
var maptype = parseInt($("type").value);
if(maptype==0)
BMap.Convertor.translate(new BMap.Point(gpsx, gpsy), maptype, showPoint); //GCJ-02坐标转成百度坐标
else
{
showPoint(new BMap.Point(gpsx, gpsy));
}
}
//eval("var json=[{tm:'2015-03-13 07:56:58',lng:'119.988288879395',lat:'31.9013805389404',id:8470,maptype:0}]");
//setTimeout(function() { DoNext(json[0].lng, json[0].lat); }, 500);
function $(id) {
return document.getElementById(id);
}
// 根据输入的坐标, 在地图上标出位置
function showxy() {
var x = parseFloat($("x").value);
var y = parseFloat($("y").value);
if(isNaN(x)||isNaN(y))
alert("请输入正确的坐标");
else
DoNext(x, y);
}
var p = (document.location.search);
if(p.length>=0 && p[0]=="?") {
var x = 0;
var y = 0;
var flag = 0;
var ps = p.substr(1).split(/&/);
for(var index in ps) {
var linestr = ps[index];
var lineitem = linestr.split(/=/);
if(lineitem.length==2 && lineitem[0]=="x")
{
x = parseFloat(lineitem[1]);
flag |= 1;
}
if(lineitem.length==2 && lineitem[0]=="y")
{
y = parseFloat(lineitem[1]);
flag |= 2;
}
}
if(flag==3 && !isNaN(x) && !isNaN(y))
DoNext(x, y);
}
</script>
</body>
</html>
public boolean onTouchEvent(MotionEvent event) {
Projection projection = mBaiduMap.getProjection();
float pointX = event.getX();
float pointY = event.getY();
Point point = new Point((int)pointX, (int)pointY);
LatLng loc = projection.fromScreenLocation(point);
double lon = loc.longitude;
double lat = loc.latitude;
return super.onTouchEvent(event);
}
这里的loc就是你要的位置信息了,请叫我雷锋