javame_JavaME:Google静态地图API

javame

无论您是需要基于位置的应用程序的地图还是只是出于娱乐目的,都可以使用有史以来最简单的方法:Google Static Maps API。 在这篇文章中,我们将看到如何从纬度和经度获得地图作为图像。 可以使用Location API获得纬度和经度,我们将不在本文中讨论。

在撰写本文时,我意识到在移动应用程序中使用Google Static Maps API存在一些许可限制…无论如何,我只是出于研究目的而发布它,但是我必须警告您有关此限制:

 
http://code.google.com/intl/zh-CN/apis/maps/faq.html#mapsformobile

Google Static Maps API快速审核
 
使用此API,您可以基于URL和一些参数(可以传入以获得个性化地图)来获取图像。 您可以使用缩放,地图类型,图像大小(宽度,高度),地图位置处的标记等进行操作。您必须牢记一个限制,使用API​​需遵守每天每位查看者最多只能查询1000个独特(不同)图像请求,其中包含大量图像…但是如果您需要更多图像,还可以使用Premium许可证。 想要查询更多的信息:

http://code.google.com/intl/zh-CN/apis/maps/documentation/staticmaps/

好的,我们要做的是以下几点:

  • 创建一种方法,该方法接收纬度和经度点以及图像的大小作为参数。
  • 使用以下网址请求地图图片: http : //maps.googleapis.com/maps/api/staticmap ,并添加一些参数。
  • 创建一个Image对象并返回它,以便我们可以在屏幕上显示它。

动手实验室

以下是我们正在谈论的方法。 它具有用于纬度和经度的参数,也用于我们请求的图像的宽度和高度的参数。 可以使用Location API检索纬度和经度,并可以使用Canvas类检索宽度和高度。

public Image getMap(double lat, double lon, int width, int height) 
throws IOException 
{String url = "http://maps.google.com/maps/api/staticmap";url += "?zoom=15&size=" + width + "x" + height;url += "&maptype=roadmap";url += "&markers=color:red|label:A|" + lat + "," + lon;url += "&sensor=true";HttpConnection http = (HttpConnection) Connector.open(url);InputStream in = null;byte[] imgBytes = null;try {http.setRequestMethod(HttpConnection.GET);in = http.openInputStream();ByteArrayOutputStream bos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int n = 0;while ((n = in.read(buffer)) != -1) {bos.write(buffer, 0, n);}imgBytes = bos.toByteArray();} finally {if (in != null) {in.close();}http.close();}Image img = Image.createImage(imgBytes, 0, imgBytes.length);return img;
}

如您所见,获取地图图像非常简单。 检索是纯HTTP请求。
接下来,您可以找到Google静态地图从我家乡的某个位置检索到的图像。

好的,您刚刚看到如果没有限制,那将是多么简单……您如何看待该限制? 这有点令人困惑,不是吗?

无论如何,我们将需要寻找另一种在我们的移动应用程序上显示地图的方法。

参考:来自Java和ME博客的JCG合作伙伴 Alexis Lopez的Google Static Maps API和JavaME 。


翻译自: https://www.javacodegeeks.com/2012/05/javame-google-static-maps-api.html

javame

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js如何获取html图片,JS/JQuery获取网页或文章或某DIV所有图片

要获取网页所有图片,我们可以通过Javascript就能轻松实现,不过要想获得文章或某容器(如:Div)里所有图片,使用JQuery而不是Javascript来实现就会变得更加简单。本文将给你详细介绍。通过Javascript获取网页所有图片html代码JS/JQue…

React Native的键盘遮挡问题(input/webview里)

2017-06-15 1:使用keyVoaidView来解决 注意要设置behavio“absolute”,哎。记性差 好像拼错了 2:使用下面的代码,监听键盘,然后将webView拉高就可以了 import React, { Component } from react; import { Keyboard, TextInput } from react…

带有Netflix Ribbon的Spring Cloud Rest Client-基础知识

在较早的博客文章中,我介绍了Spring Cloud世界中REST客户端的各种选项。 所有选项围绕着基于Netflix OSS的名为Ribbon的组件,该组件处理与承载服务的不同实例之间的调用负载平衡,处理故障转移,超时等有关的方面。在此,…

html中给文章怎么设置行高,css如何设置行距?

在网页的布局中几大段文字挤在一起总归是不好看的,这时候我们就需要来设置行间距来让文字看起来不拥挤,也让整个页面看起来美观整洁,那么,行间距该如何设置呢?本篇文章就来给大家介绍一下css行间距的设置方法。首先我们…

初中数学知识点总结_初中物理 | 最全知识点总结

往期回顾初中物理 | 知识点总结一:机械运动初中物理 | 知识点总结二:声现象初中物理 | 知识点总结三:物态变化初中物理 | 知识点总结四:光现象初中物理 | 知识点总结五:透镜及其应用初中物理 | 知识点总结六&#xff1…

redis版本_全球首发|阿里云正式推出云数据库Redis6.0版本

Redis 6.0更多精彩详情2020年6月23日,阿里云正式推出云数据库Redis 6.0版本。Redis 6.0版本为Redis开源社区于5月2日发布的全新版本,包含多项重大功能更新和大幅度的性能提升。依托于阿里云强大的云服务与管控能力,以及团队的快速跟进&#x…

webclient无法获取html文件,C# WebClient获取网页源码的方法

效果如图完整代码如下using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;//引入以下命名空间using System.Net;using System.IO;using System.Threading;name…

AFNetworking到底做了什么?

http://www.cocoachina.com/ios/20161209/18277.html转载于:https://www.cnblogs.com/zxykit/p/7018411.html

基于javafx的五子棋_基于JavaFX的SimpleDateFormat演示程序

基于javafx的五子棋对于使用Java Date进行格式化的新手,甚至对于使用Java Date进行格式化的新手,对于有经验的Java开发人员来说,可能都会有些棘手,其中之一就是使用SimpleDateFormat指定日期/时间格式。 SimpleDateFormat的基于类…

监督分类空白处也被分类了_监督学习(2)|本质是分类的“逻辑回归”

引言机器学习,绕不开预测问题,预测绕不开回归和分类。本篇介绍最常用的二分类算法:逻辑回归(Logistics Regression),当然随着算法的发展,它也可用于多分类问题。每一个算法都是许许多多数学家的努力铸就,理…

html网页制作图案,巧用CSS滤镜做图案文字-网页设计,HTML/CSS

请先看看以下演示中的图案文字。这可不是图片效果,而是用css滤镜中的chroma() 语句做成的文本文字,其中文本的内容和图案都可以自由设定。先介绍一下这个神奇的滤镜:chroma() 滤镜。语法: filter:chroma( color#cccccc) &#xff…

关于msbuild 编译.net 4.5新语法错误的解决方法

.net4.5以前msbuild 是在%windir%/Microsoft.NET/FrameworkXX/vXX目录下,如:C:\Windows\Microsoft.NET\Framework64\v4.0.30319,不过在使用4.5新语法后就无法编译通过,这时候就应该使用vs自带msbuild ,路径如下C:\Program Files (…

JavaOne 2015 –又一年,又向前迈进了一步

JavaOne 2015旧金山于10月25日至29日举行。 我很自豪地说这是我第九个人参加JavaOne,第七个人是演讲者,第四个人是Oracle员工,第三个人是内容委员会的成员,第二个人是项目负责人。 我认为对于JavaOne来说,这是又一个美…

html div父集子集,抛砖引玉css系列---根据父元素包含的子元素个数,实现不同的样式...

工作时遇到这样一个问题:根据某元素所包含的子元素个数,分别设置不同的样式,这个用js可以解决,不过个人认为用css解决可能更简单一点。这也正好加深了我对css选择器的理解和运用。demo如下:效果图如下完整代码如下:css…

rnn按时间展开_双向RNN的理解

我们在学习某种神经网络模型时,一定要把如下几点理解透了,才算真正理解了这种神经网络。网络的架构:包含那些层,每层的输入和输出,有那些模型参数是待优化的前向传播算法损失函数的定义后向传播算法什么情况下认为是发…

【转】Mac本地生成SSH Key 的方法

1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除, 也可以直接删除, 2.生成新的秘钥, 命令如下 $ssh-keygen -t rsa -C "youremailexample.com" 你需要把邮件地址换成你自己的邮…

职称考试取消英语和计算机,强烈建议取消所谓的英语职称和计算机考试

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼强烈要求取消职称计算机英语考试职称计算机英语考试坑苦了广大相关受害者,其实质是某个别部门单位敛财的冠冕堂皇的项目。那些政策制定者美其名曰是通过考试激励大家的继续学习,掌握其技能,那么没…

树莓派退出python的代码_Python实现树莓派WiFi断线自动重连的实例代码

实现 WiFi 断线自动重连。原理是用 Python 监测网络是否断线,如果断线则重启网络服务。1.Python 代码 autowifi.py,放在 /home/pi 目录下:#!/usr/bin/pythonimportos, timewhileTrue:if192 not in os.popen(ifconfig | grep 192).read():print\n****** w…

类型信息

1、java主要有两种方式在运行时识别对象和类的信息:RTTI和“反射”机制。 2、类加载器系统实际上可以包含一条类加载器链,但是只有一个原生态加载器,它是JVM实现的一部分。原生态加载器加载的是所谓的可信类,包括Java API&#xf…

primefaces_懒惰的JSF Primefaces数据表分页–第1部分

primefaces今天,我们将使用带有视图范围的托管bean的惰性列表进行JSF数据表分页。 这些单词/表达是什么意思? 如今,有几个JSF框架可为数据表提供现成的分页,列排序器和其他功能。 今天,我们将使用Primefaces数据表。 …