echarts echarts地图扩展实例地图上面的坐标是标准的gps坐标吗

PHP计算百度地图两个GPS坐标之间距离的方法
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了PHP计算百度地图两个GPS坐标之间距离的方法,是针对百度地图接口开发的典型应用,需要的朋友可以参考下
本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法。分享给大家供大家参考。
具体实现方法如下:
代码如下:/**
&* 计算两个坐标之间的距离(米)
&* @param float $fP1Lat 起点(纬度)
&* @param float $fP1Lon 起点(经度)
&* @param float $fP2Lat 终点(纬度)
&* @param float $fP2Lon 终点(经度)
&* @return int
function distanceBetween($fP1Lat, $fP1Lon, $fP2Lat, $fP2Lon){
&&& $fEARTH_RADIUS = 6378137;
&&& //角度换算成弧度
&&& $fRadLon1 = deg2rad($fP1Lon);
&&& $fRadLon2 = deg2rad($fP2Lon);
&&& $fRadLat1 = deg2rad($fP1Lat);
&&& $fRadLat2 = deg2rad($fP2Lat);
&&& //计算经纬度的差值
&&& $fD1 = abs($fRadLat1 - $fRadLat2);
&&& $fD2 = abs($fRadLon1 - $fRadLon2);
&&& //距离计算
&&& $fP = pow(sin($fD1/2), 2) +
&&&&&&&&& cos($fRadLat1) * cos($fRadLat2) * pow(sin($fD2/2), 2);
&&& return intval($fEARTH_RADIUS * 2 * asin(sqrt($fP)) + 0.5);
&* 百度坐标系转换成标准GPS坐系
&* @param float $lnglat 坐标(如:106.426, 29.553404)
&* @return string 转换后的标准GPS值:
function BD09LLtoWGS84($fLng, $fLat){ // 经度,纬度
&&& $lnglat = explode(',', $lnglat);
&&& list($x,$y) = $
&&& $Baidu_Server = "http://api./ag/coord/convert?from=0&to=4&x={$x}&y={$y}";
&&& $result = @file_get_contents($Baidu_Server);
&&& $json = json_decode($result);
&&& if($json-&error == 0){
&&&&&&& $bx = base64_decode($json-&x);
&&&&&&& $by = base64_decode($json-&y);
&&&&&&& $GPS_x = 2 * $x - $
&&&&&&& $GPS_y = 2 * $y - $
&&&&&&& return $GPS_x.','.$GPS_y;//经度,纬度
&&&&&&& return $
希望本文所述对大家的php程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具11924人阅读
备注:资料均来源与网上,这里稍加整理,有错欢迎指出
一、各个坐标系的概况
& & & & 众所周知地球是一个不规则椭圆体,GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面。基准面是在椭球体基础上建立的,椭球体可以对应多个基准面,而基准面只能对应一个椭球体。意思就是无论是谷歌地图、搜搜地图还是高德地图、百度地图区别只是针对不同的大地地理坐标系标准制作的经纬度,不存在准不准的问题,大家都是准的只是参照物或者说是标准不一样。谷歌地图采用的是WGS84地理坐标系(中国范围除外),谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系,百度采用的是BD09坐标系,而设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,为什么不统一用WGS84地理坐标系这就是国家地理测绘总局对于出版地图的要求,出版地图必须符合GCJ02坐标系标准了,也就是国家规定不能直接使用WGS84地理坐标系。所以定位大家感觉不准确很多又叫出版地图为火星地图其实只是坐标系不一样而已。这就是为什么设备采集的经纬度在地图上显示的时候经常有很大的偏差,远远超出民用GPS
10米偏移量的技术规范。
以上参考自:&
WGS84坐标系:即地球坐标系,国际上通用的坐标系。
GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。
BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。
搜狗坐标系、图吧坐标系等,估计也是在GCJ02基础上加密而成的。
二、各个地图API采用的坐标系
百度地图API
腾讯搜搜地图API
搜狐搜狗地图API
阿里云地图API
图吧MapBar地图API
高德MapABC地图API
灵图51ditu地图API
注1:百度地图使用百度坐标,支持从地球坐标和火星坐标导入成百度坐标,但无法导出。并且批量坐标转换一次只能转换20个(待验证)。
注2:搜狗地图支持直接显示地球坐标,支持地球坐标、火星坐标、百度坐标导入成搜狗坐标,同样,搜狗坐标也无法导出。
个人认为:采用自家坐标体系,而不采用国内通用的火星坐标体系,实在是自寻短处。当然,百度是因为做的足够大、足够好,所以很霸道,也为以后一统天下而不让别人瓜分之而做准备吧。搜狗虽然用自家坐标体系,但能将地球坐标直接导入,此举也属唯一。而图吧地图不知道学什么加密方式,以前用地球坐标用的好好的,现在用图吧自己的坐标,难道是因为给百度做过所以也来了这么一招?或者沿用百度?不得而知。
本文的目的在于:做地图开发的时候,不希望被一家地图API迁就,所以采用火星坐标是正确的选择,希望本文能够对选择使用谁家API的开发者提供一点帮助吧。就我个人而言,我绝不会使用非火星坐标系统的地图API,虽然百度地图API很好很强大确实很吸引我。
以上参考自:/labs/map-compare/
三、各个坐标系的相互转换
1.火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法,其中&bd_encrypt&将 GCJ-02 坐标转换成 BD-09 坐标,&bd_decrypt&反之。
void&bd_encrypt(double&gg_lat,&double&gg_lon,&double&&bd_lat,&double&&bd_lon)&&&&{&&&&&&&&double&x&=&gg_lon,&y&=&gg_&&&&&&&&double&z&=&sqrt(x&*&x&+&y&*&y)&+&0.00002&*&sin(y&*&x_pi);&&&&&&&&double&theta&=&atan2(y,&x)&+&0.000003&*&cos(x&*&x_pi);&&&&&&&&bd_lon&=&z&*&cos(theta)&+&0.0065;&&&&&&&&bd_lat&=&z&*&sin(theta)&+&0.006;&&&&}&&&&&&&&&void&bd_decrypt(double&bd_lat,&double&bd_lon,&double&&gg_lat,&double&&gg_lon)&&&&{&&&&&&&&double&x&=&bd_lon&-&0.0065,&y&=&bd_lat&-&0.006;&&&&&&&&double&z&=&sqrt(x&*&x&+&y&*&y)&-&0.00002&*&sin(y&*&x_pi);&&&&&&&&double&theta&=&atan2(y,&x)&-&0.000003&*&cos(x&*&x_pi);&&&&&&&&gg_lon&=&z&*&cos(theta);&&&&&&&&gg_lat&=&z&*&sin(theta);&&&&}&&
void bd_encrypt(double gg_lat, double gg_lon, double &bd_lat, double &bd_lon)
double x = gg_lon, y = gg_
double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);
double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);
bd_lon = z * cos(theta) + 0.0065;
bd_lat = z * sin(theta) + 0.006;
void bd_decrypt(double bd_lat, double bd_lon, double &gg_lat, double &gg_lon)
double x = bd_lon - 0.0065, y = bd_lat - 0.006;
double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);
double theta = atan2(y, x) - 0.000003 * cos(x * x_pi);
gg_lon = z * cos(theta);
gg_lat = z * sin(theta);
2.地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法
WGS-84&到&GCJ-02&的转换(即&GPS&加偏)算法
using&S&&&&namespace&Navi&&{&&&&&&class&EvilTransform&&&&&&{&&&&&&&&&&const&double&pi&=&3.79324;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&const&double&a&=&;&&&&&&&&&&const&double&ee&=&0.;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&public&static&void&transform(double&wgLat,&double&wgLon,&out&double&mgLat,&out&double&mgLon)&&&&&&&&&&{&&&&&&&&&&&&&&if&(outOfChina(wgLat,&wgLon))&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&mgLat&=&wgL&&&&&&&&&&&&&&&&&&mgLon&=&wgL&&&&&&&&&&&&&&&&&&return;&&&&&&&&&&&&&&}&&&&&&&&&&&&&&double&dLat&=&transformLat(wgLon&-&105.0,&wgLat&-&35.0);&&&&&&&&&&&&&&double&dLon&=&transformLon(wgLon&-&105.0,&wgLat&-&35.0);&&&&&&&&&&&&&&double&radLat&=&wgLat&/&180.0&*&&&&&&&&&&&&&&&double&magic&=&Math.Sin(radLat);&&&&&&&&&&&&&&magic&=&1&-&ee&*&magic&*&&&&&&&&&&&&&&&double&sqrtMagic&=&Math.Sqrt(magic);&&&&&&&&&&&&&&dLat&=&(dLat&*&180.0)&/&((a&*&(1&-&ee))&/&(magic&*&sqrtMagic)&*&pi);&&&&&&&&&&&&&&dLon&=&(dLon&*&180.0)&/&(a&/&sqrtMagic&*&Math.Cos(radLat)&*&pi);&&&&&&&&&&&&&&mgLat&=&wgLat&+&dL&&&&&&&&&&&&&&mgLon&=&wgLon&+&dL&&&&&&&&&&}&&&&&&&&&&&&static&bool&outOfChina(double&lat,&double&lon)&&&&&&&&&&{&&&&&&&&&&&&&&if&(lon&&&72.004&||&lon&&&137.8347)&&&&&&&&&&&&&&&&&&return&true;&&&&&&&&&&&&&&if&(lat&&&0.8293&||&lat&&&55.8271)&&&&&&&&&&&&&&&&&&return&true;&&&&&&&&&&&&&&return&false;&&&&&&&&&&}&&&&&&&&&&&&static&double&transformLat(double&x,&double&y)&&&&&&&&&&{&&&&&&&&&&&&&&double&ret&=&-100.0&+&2.0&*&x&+&3.0&*&y&+&0.2&*&y&*&y&+&0.1&*&x&*&y&+&0.2&*&Math.Sqrt(Math.Abs(x));&&&&&&&&&&&&&&ret&+=&(20.0&*&Math.Sin(6.0&*&x&*&pi)&+&20.0&*&Math.Sin(2.0&*&x&*&pi))&*&2.0&/&3.0;&&&&&&&&&&&&&&ret&+=&(20.0&*&Math.Sin(y&*&pi)&+&40.0&*&Math.Sin(y&/&3.0&*&pi))&*&2.0&/&3.0;&&&&&&&&&&&&&&ret&+=&(160.0&*&Math.Sin(y&/&12.0&*&pi)&+&320&*&Math.Sin(y&*&pi&/&30.0))&*&2.0&/&3.0;&&&&&&&&&&&&&&return&&&&&&&&&&&}&&&&&&&&&&&&static&double&transformLon(double&x,&double&y)&&&&&&&&&&{&&&&&&&&&&&&&&double&ret&=&300.0&+&x&+&2.0&*&y&+&0.1&*&x&*&x&+&0.1&*&x&*&y&+&0.1&*&Math.Sqrt(Math.Abs(x));&&&&&&&&&&&&&&ret&+=&(20.0&*&Math.Sin(6.0&*&x&*&pi)&+&20.0&*&Math.Sin(2.0&*&x&*&pi))&*&2.0&/&3.0;&&&&&&&&&&&&&&ret&+=&(20.0&*&Math.Sin(x&*&pi)&+&40.0&*&Math.Sin(x&/&3.0&*&pi))&*&2.0&/&3.0;&&&&&&&&&&&&&&ret&+=&(150.0&*&Math.Sin(x&/&12.0&*&pi)&+&300.0&*&Math.Sin(x&/&30.0&*&pi))&*&2.0&/&3.0;&&&&&&&&&&&&&&return&&&&&&&&&&&}&&&&&&}&&}&&
namespace Navi
class EvilTransform
const double pi = 3.79324;
// Krasovsky 1940
// a = , 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
const double a = ;
const double ee = 0.;
// World Geodetic System ==& Mars Geodetic System
public static void transform(double wgLat, double wgLon, out double mgLat, out double mgLon)
if (outOfChina(wgLat, wgLon))
mgLat = wgL
mgLon = wgL
double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
double radLat = wgLat / 180.0 *
double magic = Math.Sin(radLat);
magic = 1 - ee * magic *
double sqrtMagic = Math.Sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
dLon = (dLon * 180.0) / (a / sqrtMagic * Math.Cos(radLat) * pi);
mgLat = wgLat + dL
mgLon = wgLon + dL
static bool outOfChina(double lat, double lon)
if (lon & 72.004 || lon & 137.8347)
if (lat & 0.8293 || lat & 55.8271)
static double transformLat(double x, double y)
double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.Sqrt(Math.Abs(x));
ret += (20.0 * Math.Sin(6.0 * x * pi) + 20.0 * Math.Sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.Sin(y * pi) + 40.0 * Math.Sin(y / 3.0 * pi)) * 2.0 / 3.0;
ret += (160.0 * Math.Sin(y / 12.0 * pi) + 320 * Math.Sin(y * pi / 30.0)) * 2.0 / 3.0;
static double transformLon(double x, double y)
double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.Sqrt(Math.Abs(x));
ret += (20.0 * Math.Sin(6.0 * x * pi) + 20.0 * Math.Sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.Sin(x * pi) + 40.0 * Math.Sin(x / 3.0 * pi)) * 2.0 / 3.0;
ret += (150.0 * Math.Sin(x / 12.0 * pi) + 300.0 * Math.Sin(x / 30.0 * pi)) * 2.0 / 3.0;
以上参考自:/Mobile/iOS/679842.html
3.百度在线转换API
http:&&from:&来源坐标系&&&(0表示原始GPS坐标,2表示Google坐标)&&to:&转换后的坐标&&(4就是百度自己啦,好像这个必须是4才行)&&x:&精度&&y:&纬度&&
http://api./ag/coord/convert?from=0&to=4&x=longitude&y=latitude
from: 来源坐标系
(0表示原始GPS坐标,2表示Google坐标)
to: 转换后的坐标
(4就是百度自己啦,好像这个必须是4才行)
请求之后会返回一串Json
{&&&&&&&error&:0,&&&&&&&x&:&MTIxLjUwMDIyODIxNDk2&,&&&&&&&y&:&MzEuMjM1ODUwMjYwMTE3&&&}&&error:是结果是否出错标志位,&0&表示OK&&x:&百度坐标系的精度(Base64加密)&&y:&百度坐标系的纬度(Base64加密)&&
&error&:0,
&x&:&MTIxLjUwMDIyODIxNDk2&,
&y&:&MzEuMjM1ODUwMjYwMTE3&
error:是结果是否出错标志位,&0&表示OK
x: 百度坐标系的精度(Base64加密)
y: 百度坐标系的纬度(Base64加密)
什么情况,经纬度居然还加密?那接下来也只好见招拆招了
import&java.io.BufferedR&&import&java.io.IOE&&import&java.io.InputS&&import&java.io.InputStreamR&&import&java.io.OutputStreamW&&import&java.net.URL;&&import&java.net.URLC&&import&com.sun.org.apache.xerces.internal.impl.dv.util.Base64;&&public&class&BaiduAPIConverter&extends&Thread&{&&&&public&static&void&testPost(String&x,&String&y)&throws&IOException&{&&&&&&try&{&&&&&&&&URL&url&=&new&URL(&http://api./ag/coord/convert?from=2&to=4&x=&+&x&+&&&y=&&+&y);&&&&&&&&URLConnection&connection&=&url.openConnection();&&&&&&&&connection.setDoOutput(true);&&&&&&&&OutputStreamWriter&out&=&new&OutputStreamWriter(connection.getOutputStream(),&&utf-8&);&&&&&&&&&&&&&&&&out.flush();&&&&&&&&out.close();&&&&&&&&&&&&&&&&String&sCurrentLine,&sTotalS&&&&&&&&sCurrentLine&=&sTotalString&=&&&;&&&&&&&&InputStream&l_urlS&&&&&&&&l_urlStream&=&connection.getInputStream();&&&&&&&&BufferedReader&l_reader&=&new&BufferedReader(new&InputStreamReader(l_urlStream));&&&&&&&&while&((sCurrentLine&=&l_reader.readLine())&!=&null)&{&&&&&&&&&&if&(!sCurrentLine.equals(&&))&&&&&&&&&&&&sTotalString&+=&sCurrentL&&&&&&&&}&&&&&&&&sTotalString&=&sTotalString.substring(1,&sTotalString.length()&-&1);&&&&&&&&String[]&results&=&sTotalString.split(&\\,&);&&&&&&&&if&(results.length&==&3)&{&&&&&&&&&&if&(results[0].split(&\\:&)[1].equals(&0&))&{&&&&&&&&&&&&String&mapX&=&results[1].split(&\\:&)[1];&&&&&&&&&&&&String&mapY&=&results[2].split(&\\:&)[1];&&&&&&&&&&&&mapX&=&mapX.substring(1,&mapX.length()&-&1);&&&&&&&&&&&&mapY&=&mapY.substring(1,&mapY.length()&-&1);&&&&&&&&&&&&mapX&=&new&String(Base64.decode(mapX));&&&&&&&&&&&&mapY&=&new&String(Base64.decode(mapY));&&&&&&&&&&&&System.out.println(&\t&&+&mapX&+&&\t&&+&mapY);&&&&&&&&&&}&&&&&&&&}&&&&&&&sleep(10000);&&&&&&}&catch&(InterruptedException&e)&{&&&&&&&&
&&&&&&&&e.printStackTrace();&&&&&&}&&&&}&&&&&&&&&&&public&static&void&main(String[]&args)&throws&IOException&{&&&&&&testPost(&120.151379&,&&30.184678&);&&&&&&System.out.println(&ok&);&&&&}&&}&&
import java.io.BufferedR
import java.io.IOE
import java.io.InputS
import java.io.InputStreamR
import java.io.OutputStreamW
import java.net.URL;
import java.net.URLC
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class BaiduAPIConverter extends Thread {
public static void testPost(String x, String y) throws IOException {
URL url = new URL(&http://api./ag/coord/convert?from=2&to=4&x=&+ x + &&y=& + y);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), &utf-8&);
// remember to clean up
out.flush();
out.close();
// 一旦发送成功,用以下方法就可以得到服务器的回应:
String sCurrentLine, sTotalS
sCurrentLine = sTotalString = &&;
InputStream l_urlS
l_urlStream = connection.getInputStream();
BufferedReader l_reader = new BufferedReader(new InputStreamReader(l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
if (!sCurrentLine.equals(&&))
sTotalString += sCurrentL
sTotalString = sTotalString.substring(1, sTotalString.length() - 1);
String[] results = sTotalString.split(&\\,&);
if (results.length == 3) {
if (results[0].split(&\\:&)[1].equals(&0&)) {
String mapX = results[1].split(&\\:&)[1];
String mapY = results[2].split(&\\:&)[1];
mapX = mapX.substring(1, mapX.length() - 1);
mapY = mapY.substring(1, mapY.length() - 1);
mapX = new String(Base64.decode(mapX));
mapY = new String(Base64.decode(mapY));
System.out.println(&\t& + mapX + &\t& + mapY);
sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
* @param args
* @throws IOException
public static void main(String[] args) throws IOException {
testPost(&120.151379&, &30.184678&);
System.out.println(&ok&);
到这里也差不多好了,主要的代码都写出来了,其他的您就自己写吧。
以上参考自:http://scalpel.me/archives/136/
四、重点啊,原来百度有内置转换方法,这下可以不局限于百度定位SDK了
在百度地图中取得WGS-84坐标,调用如下方法:
BMapManager.getLocationManager().setLocationCoordinateType(MKLocationManager.MK_COORDINATE_WGS84);
这样从百度api中取得的坐标就是WGS-84了,可是这种坐标如果显示到百度地图上就会偏移,也就是说取出一个坐标,原封不动的显示上去就偏移了,所以为了显示也是正常就需要在绘制到百度地图上之前转换成BD-09。
转换成BD-09,调用方法:
& GeoPoint wgs84;
GeoPoint bd09 = CoordinateConvert.bundleDecode(CoordinateConvert.fromWgs84ToBaidu(wgs84));
这里实在不明白为何要设计成CoordinateConvert.fromWgs84ToBaidu(wgs84)返回了一个Bundle,所以还需要CoordinateConvert.bundleDecode()再转成GeoPoint。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:252445次
积分:3276
积分:3276
排名:第5881名
原创:34篇
转载:291篇
评论:48条
(4)(11)(13)(11)(14)(8)(10)(2)(33)(14)(9)(15)(24)(3)(1)(1)(1)(5)(3)(7)(14)(7)(8)(1)(3)(5)(17)(3)(15)(6)(6)(16)(11)(1)(19)(4)当前访客身份:游客 [
当前位置:
你好,想跟你请教个问题:我想请问一下Echarts在生成了中国地图全图后,能不能通过某个方法知道城市在该地图上的坐
标,就是我想实现传入一个城市的名称,然后我能通过该方法获取坐标,然后根据坐标通过
mapLocation方法移动地图位置来把这个城市显示在页面中间的效果。
共有7个答案
<span class="a_vote_num" id="a_vote_num_
引用来自“空城大叔”的评论
引用来自“学习2014”的评论
地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标),兄弟 ,这个知道怎么转吗? &刚接触不是很懂,是什么方法?
getPosByGeo
参数:{string}&mapType (地图类型),&{Array}&[ew,ns] (经纬度) 返回:{Array}&[x, y] 坐标值
getGeoByPos
平面坐标转经纬度,单位px 参数:{string}&mapType (地图类型),&{Array}&[x, y] (坐标值 ) 返回:{Array}&[ew,ns] 经纬度
引用来自“学习2014”的评论& 非常感谢。 &这个返回来的是屏幕坐标吗?引用来自“空城大叔”的评论感觉不是,是地图所在的那个Div内的坐标,算是相对坐标吧,你用地图的属性
mapLocation移动地图就知道了,每次用那个获取坐标的方法获取的坐标都是根据当前地图所在位置重新计算的。
所以想用这个坐标来达到定位元素的功能是实现不了的。如果有这方面的需要,那就只能多试试地图的那些属性还有markpoint的属性了。我就是这么干的非常感谢您,!!!!
<span class="a_vote_num" id="a_vote_num_
引用来自“空城大叔”的评论
引用来自“学习2014”的评论
地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标),兄弟 ,这个知道怎么转吗? &刚接触不是很懂,是什么方法?
getPosByGeo
参数:{string}&mapType (地图类型),&{Array}&[ew,ns] (经纬度) 返回:{Array}&[x, y] 坐标值
getGeoByPos
平面坐标转经纬度,单位px 参数:{string}&mapType (地图类型),&{Array}&[x, y] (坐标值 ) 返回:{Array}&[ew,ns] 经纬度
引用来自“学习2014”的评论& 非常感谢。 &这个返回来的是屏幕坐标吗?感觉不是,是地图所在的那个Div内的坐标,算是相对坐标吧,你用地图的属性
mapLocation移动地图就知道了,每次用那个获取坐标的方法获取的坐标都是根据当前地图所在位置重新计算的。
所以想用这个坐标来达到定位元素的功能是实现不了的。如果有这方面的需要,那就只能多试试地图的那些属性还有markpoint的属性了。我就是这么干的
<span class="a_vote_num" id="a_vote_num_
引用来自“空城大叔”的评论
引用来自“学习2014”的评论
地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标),兄弟 ,这个知道怎么转吗? &刚接触不是很懂,是什么方法?
getPosByGeo
参数:{string}&mapType (地图类型),&{Array}&[ew,ns] (经纬度) 返回:{Array}&[x, y] 坐标值
getGeoByPos
平面坐标转经纬度,单位px 参数:{string}&mapType (地图类型),&{Array}&[x, y] (坐标值 ) 返回:{Array}&[ew,ns] 经纬度
& 非常感谢。 &这个返回来的是屏幕坐标吗?
<span class="a_vote_num" id="a_vote_num_
引用来自“学习2014”的评论
地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标),兄弟 ,这个知道怎么转吗? &刚接触不是很懂,是什么方法?
getPosByGeo
参数:{string}&mapType (地图类型),&{Array}&[ew,ns] (经纬度) 返回:{Array}&[x, y] 坐标值
getGeoByPos
平面坐标转经纬度,单位px 参数:{string}&mapType (地图类型),&{Array}&[x, y] (坐标值 ) 返回:{Array}&[ew,ns] 经纬度
<span class="a_vote_num" id="a_vote_num_
地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标),兄弟 ,这个知道怎么转吗? &刚接触不是很懂,是什么方法?
<span class="a_vote_num" id="a_vote_num_
引用来自“Kener-林峰”的评论不支持,城市坐标可以通过一些标准服务拿到,标准的经纬度,地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标) 额。好吧!我开始看地图能够通过城市名称MakePoint之类的就以为又这样的方法可以直接通过城市名获取平面XY坐标呢!
谢谢!我试试转经纬度的方法!
<span class="a_vote_num" id="a_vote_num_
不支持,城市坐标可以通过一些标准服务拿到,标准的经纬度,地图有接口方法可以通过经纬度换算给你显示坐标(平面x,y坐标)
更多开发者职位上
有什么技术问题吗?
空城大叔的其它问题
类似的话题

我要回帖

更多关于 echarts 百度地图扩展 的文章

 

随机推荐