Skip to content

在BD09,GCJ02,WGS84坐标系之间相互转换点的坐标。

License

Notifications You must be signed in to change notification settings

suifengtec/gocoord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gocoord

wercker status

在BD09,GCJ02,WGS84坐标系之间相互转换点的坐标。

  • 高德地图、腾讯地图以及谷歌中国区地图使用的是GCJ-02坐标系;
  • 百度地图使用的是BD-09坐标系;
  • 底层接口(HTML5 Geolocation或iOS、安卓API)通过GPS设备获取的坐标使用的是WGS-84坐标系;

使用场景实例: 客户端或者远端的GPS设备上报GPS使用的WGS-84坐标系的点,从数据库中查找附近的点或者在百度地图或高德地图上显示某些点的位置。

可用方法

见文件gocoord_test.go

使用

go get github.com/suifengtec/gocoord

用例

源文件中导入并使用,下面是部分方法的使用示例:

package main

import (
	"fmt"
	"github.com/suifengtec/gocoord"
)

func main() {
	p := gocoord.Position{Lon: 113.739873, Lat: 34.356696}
	//gocoord.BD09ToGCJ02(p)
	// 谷歌地图显示为
	// 113.733355, 34.350604
	// 实际输出为gocoord.Position{Lon:113.73337197243862, Lat:34.350630274732744}
	fmt.Println("BD09转GCJ02")
	p2 := gocoord.BD09ToGCJ02(p)
	fmt.Printf("%#v\n", p2)

	//gocoord.BD09ToWGS84(p)
	// 实际输出为 gocoord.Position{Lon:113.7272281721665, Lat:34.351951705458674}
	fmt.Println("BD09转WGS84")
	p2 = gocoord.BD09ToWGS84(p)
	fmt.Printf("%#v\n", p2)

}

Releases

No releases published

Packages

No packages published

Languages