修改地方:输入一组坐标点求编码
#include "stdafx.h"
#include "string"
#include "iostream"
using namespace std;
//四舍五入取整函数
int interger(double x)
{
int y;
if(x<0)
y=int(x-0.5);
else if(x>=0)
y=int(x+0.5);
return y;
}
//无符号数编码
string encodeNumber(unsigned int sgn_num)
{
string result="";
//将该二进制值分为5位一组的块
while(sgn_num>=0x20)
{
int x;
x=sgn_num&0x1f;
//进行异或加上63
x=x|0x20;
x=x+63;
result+=char(x);
sgn_num>>=5;
}
result+=char(sgn_num+63);
return result;
}
//有符号值编码
string encodeSignedNumber(int num)
{
int sgn_num;
string result;
//变换二进制值,左移,地位补0
sgn_num=num<<1;
if(num<0)
{
sgn_num=~(sgn_num);//对负数求反
}
result=encodeNumber(sgn_num);
return result;
}
int _tmain(int argc, _TCHAR* argv[])
{
//有符号数,设置成double型,双精度浮点型,10位有效数字,float是单精度浮点型,只有6位有效数字
//一组数据
string cl="(38.5,-120.2),(40.7,-120.95),(43.252,-126.453)";
//string.size类型是size_type,不能与int比较,没找到其他方法,所以原字符串后加点东西做比较
string p=",a";
string p1="a";
string result;
cl+=p;
double lat,lng;
//设置个初始值
int lat_x=0,lng_x=0;
//设置差值
int lat_y,lng_y;
while(cl!=p1)
{
int w1=cl.find('(');
int w2=cl.find(',');
int w3=cl.find(')');
lat=atof(cl.substr(1,w2-w1-1).c_str());
lng=atof(cl.substr(w2+1,w3-1).c_str());
int x=interger(lat*100000);
int y=interger(lng*100000);
//计算差值
lat_y=x-lat_x;
lng_y=y-lng_x;
//用差值求arscII码
string latlat,lnglng;
latlat=encodeSignedNumber(lat_y);
result+=latlat;
lnglng=encodeSignedNumber(lng_y);
result+=lnglng;
//重设初值
lat_x=x;
lng_x=y;
cl=cl.substr(w3+2);
}
cout<<result<<endl;
//system函数是用来执行一条dos命令或运行一个外部程序。 pause是暂停,并等待用户按键
system("pause");
return 0;
}
结果为:_p~iF~ps|U_ulLnnqC_mqNvxq`@ 与google提供的例子结果一致
分享到:
相关推荐
折线Polyline 是一种在Google Maps API 中解码和编码折线的工具。 如果您想在查询 Google API 以获取路线时绕过 25 个 WayPoints 的限制,它会很有用。 通过解码用于在地图上绘制路径的折线,您可以获得更多坐标。 ...
Polyline 是 Google Maps API V3 中的一种组件,用于在地图上绘制折线。开发者可以使用 PolylineOptions 对象来配置折线的基本属性,如颜色、宽度、路径等。 Polygon Polygon 是 Google Maps API V3 中的一种组件...
谷歌折线编码器是一种高效的算法,它能够将一系列坐标点(通常为经度/纬度对)转化为紧凑的字符串格式,这种格式被称为谷歌折线编码。在MATLAB环境下实现这一功能,可以帮助开发者更便捷地与Google Static Maps API...
Google Maps Polyline编码工具 一个简单PHP类,用于将转换为Google Maps的字符串。安装使用。 $ curl -sS https://getcomposer.org/installer | php$ cat > composer.json <<EOF>=1.2.1" }}EOF$ ...
├─06 Google Maps API高级编程 │ ├─6.1 GPolyline折线对象和GPolygon多边形对象 │ │ ├─6.1.1 使用GPolyline折线对象 │ │ ├─6.1.2 使用GPolygon多边形对象 │ │ ├─6.1.4 使用GPolyline和GPolygon的...
Google Maps JavaScript折线编码 描述 使用此程序包在Nodejs或浏览器中编码和解码polyines。 折线编码是一种有损压缩算法,可让您将一系列坐标存储为单个字符串。 点坐标使用带符号的值进行编码。 要了解更多信息...
Google Maps API V3是Google提供的一套用于在网页上嵌入地图、进行地理位置处理的JavaScript接口。这个中文参考文档包含了详细的API使用指南和技术说明,帮助开发者更好地理解和利用这个强大的工具。下面将对其中的...
2. **JavaScript API**:这是Google Maps API的主要部分,用于创建动态、交互式的地图。通过JavaScript API,开发者可以添加标记、信息窗口、自定义图层、绘制形状、进行地理编码、路径规划等。 3. **地图对象模型*...
例如,原先的 `GMap2` 对象现在也可以定义为 `google.maps.Map2`。 #### 核心类和类型 1. **GMap2** - 代表地图的主要对象。 - **GMapOptions** - 定义 GMap2 实例的配置选项。 - **GGoogleBarOptions** - 配置 ...
"gpoly_renderer" 是一个项目或库,它的主要功能是在OpenStreetMap (OSM) 地图上展示由Google折线编码表示的路线。标题表明这个工具或者服务可以将从Google Maps获取的特殊编码路径数据转换并显示在开源的地图平台上...
在共享的项目中,您将找到Xamarin.Forms.Maps Map的子类,该子类添加了对Google样式编码的折线的支持并设置了其颜色。 折线的解码发生在此子类中,并且此Forms控件与其自定义渲染器之间建立了一个对话框,以正确显示...
2. **地理编码**:通过`google.maps.Geocoder`服务将地址转换为坐标(经纬度),反之亦然,以便在地图上定位地点。 3. **标记(Markers)**:在地图上添加图标以表示特定位置。使用`google.maps.Marker`类,可以...
5. **服务**:Google Maps API提供了多种服务,如地理编码服务(将地址转换为坐标)、路线规划服务、地点搜索服务等。这个部分可能会涵盖其中的一些服务,展示如何调用和使用它们。 6. **折线示例**:这展示了如何...
Google Maps API V3的核心概念包括地图对象、标记(Markers)、信息窗口(InfoWindows)、覆盖物(Overlays)、图层(Layers)以及地理编码(Geocoding)。开发者通过JavaScript代码调用这些功能,创建个性化的地图...
谷歌地图API(Google Maps API)是谷歌提供的一套强大的开发工具,允许开发者在自己的网站或应用中嵌入交互式地图,实现地图定位、导航、地理编码、路线规划等多种功能。这个"google maps api 地图开发大全源码"的...
在IT行业中,Google Maps API是一项强大的工具,它允许开发者将地图功能集成到自己的应用程序中,为用户提供丰富的地理信息展示和导航服务。对于FlexBuilder 4.5用户来说,结合Google Maps API进行二次开发能实现更...
《陈育春Google Maps API开发大全》是一本深入解析Google Maps API的专业书籍,随书附带的源码提供了丰富的实践示例,帮助读者更好地理解和应用API。这些源码按照章节进行组织,包括了ch12到ch3等多个章节的内容,...
Google Maps JavaScript API V3 是 Google 提供的一个强大工具,用于在网页上集成交互式的地图服务。作为正式的 JavaScript API 版本,它允许开发者利用 HTML、CSS 和 JavaScript 技术创建丰富的地图应用程序,提供...
2. **地图对象与事件处理**:书中的章节会讲解地图上的各种对象,如Marker(标记)、InfoWindow(信息窗口)、Polygon(多边形)、Polyline(折线)等,以及如何创建、修改和删除这些对象。同时,还会涉及到事件监听...
Google Maps JavaScript API V3 是一个强大的工具,允许开发者在网页上集成交互式地图功能。这个API提供了丰富的功能,包括地图显示、标记定位、路线规划、地理编码以及自定义图层等。本文将详细介绍如何使用V3版本...