真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java地圖代碼 java版地圖怎么做

怎么用java開發(fā)安卓 高德地圖

首先創(chuàng)建工程,并在工程Build PathConfigure Build Path…libraries 中選擇“Add Externel JARs…”,選定

創(chuàng)新互聯(lián)專注于陽高企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城系統(tǒng)網(wǎng)站開發(fā)。陽高網(wǎng)站建設(shè)公司,為陽高等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

MapApi.jar,點(diǎn)擊OK,這樣就可以將高德地圖Android API 庫文件引入。然后在工程Build PathConfigure Build

Path…Order and Export 中將引入的庫文件MapApi.jar 選中,點(diǎn)擊OK,這樣您就可以在您的程序中使用高德地圖API

了。

二、我們在不熟悉的情況下、先盡量多的添加此軟件應(yīng)用權(quán)限;所以在mainifest中添加如下代碼;插入的位置在

application的代碼之前。

Java代碼

uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/uses-permission

uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/uses-permission

uses-permission android:name="android.permission.INTERNET"/uses-permission

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/uses-permission

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/uses-permission

uses-permission android:name="android.permission.READ_PHONE_STATE"/uses-permission

uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/uses-permission

uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/uses-permission

java map解釋與代碼

MapString,List dataMap = new HashMapString,List();

for(int i=0;ixsList.size();i++){

dataMap.put(xsList.get(i).學(xué)號(hào), xsList.get(i));

}

for(int i=0;icjList.size();i++){

dataMap.put(cjList.get(i).學(xué)號(hào), cjList.get(i));

}

得到的dataMap就是需要插入的數(shù)據(jù),不過以前的數(shù)據(jù)需要先刪再插(而且前提是xsList和cjList泛型得相同)。

話說如果不用map還可以用一個(gè)方法:

// 成績表的學(xué)號(hào)List

ListString cjNum = new ArrayListString();

for(int i=0;icjList.size();i++){

cjNum.add(cjList.get(i).學(xué)號(hào));

}

for(int i=0;ixsList.size();i++){

// 學(xué)生表的學(xué)號(hào)在成績表里存在

if(cjNum.contains(xsList.get(i).學(xué)號(hào))){

覆蓋

}else{

// 學(xué)生表的學(xué)號(hào)在成績表里不存在

在cj表創(chuàng)建添加這個(gè)學(xué)生

}

}

求一個(gè)java寫的地圖程序

用java寫一個(gè)地圖編輯器

記得媒體在采訪c++之父的時(shí)候,他說作為程序員,要相信自己能夠解決已經(jīng)理解的任何事情.

換句話說:您可以解決任何問題,只要想得明白

現(xiàn)實(shí)問題:開發(fā)一個(gè)基于地磚的二維游戲的地圖編輯器,要求生成兩個(gè)binary文件,各包含一個(gè)二維數(shù)組,*.map存放地磚,花花草草什么的.*.item放道具,比如某個(gè)點(diǎn)可能會(huì)觸發(fā)一個(gè)事件.很簡單,隨便寫.看到這里您已經(jīng)大致明白程序的整體結(jié)構(gòu).

計(jì)算機(jī)語言:java.

要理解事件必須分析

初步來看,地圖編輯器:生成某種形式的若干數(shù)組,無論是哪種形式的數(shù)組,你的目的:

生成數(shù)組.地圖是實(shí)際是一個(gè)(x,y)的二維坐標(biāo)系,這很容易讓人聯(lián)系到:亦無論

我準(zhǔn)備把設(shè)置兩個(gè)程序界面(主界面/map界面),java的布局管理器不好擺弄,不如分開兩個(gè)class,主界面用jbuilder自動(dòng)創(chuàng)建的application模塊(帶菜單).map界面自己寫,也是jframe,類之間相互傳遞消息,map界面將在程序開始時(shí)被初始化,也可以在程序從主界面中初始化(有問題)

構(gòu)建程序

以下內(nèi)容為程序代碼:

basepanel.setlayout(new gridlayout(5, 5));

for (byte i = 0; i 9; i++) {

basemapbutton[i] = new

((icon) pic.getimageicon(i, 0));

basemapbutton[i].setbuttontitle(i);

basemapbutton[i].addactionlistener(buttonlistener);

basepanel.add(basemapbutton[i]);

}

itempanel.setlayout(new gridlayout(5, 5));

for (byte i = 0; i 3; i++) {

itemmapbutton[i] = new mapbutton((icon) pic.getimageicon(i, 1));

itemmapbutton[i].setbuttontitle(i);

itemmapbutton[i].addactionlistener(buttonlistener1);

itempanel.add(itemmapbutton[i]);

}

tabbedpane.addtab("bases", basepanel);

tabbedpane.addtab("items", itempanel);

contentpane.add(tabbedpane, borderlayout.center);

有兩個(gè)地方要解釋:

mapbutton:自己寫的一個(gè)類

以下內(nèi)容為程序代碼:

import javax.swing.icon;

import javax.swing.jbutton;

public class mapbutton extends jbutton {

public mapbutton() {

super();

}

public mapbutton(string arg0) {

super(arg0);

}

public mapbutton(action arg0) {

super(arg0);

}

public mapbutton(icon arg0) {

super(arg0);

}

public mapbutton(string arg0, icon arg1) {

super(arg0, arg1);

}

public byte width, height;

//public pic_w, pic_y;

public void setbuttontitle(byte w, byte h) {

width = w;

height = h;

}

public void setbuttontitle(byte w){

width =w;

}

public byte getbuttonwidth() {

return width;

}

public byte getbuttonheight() {

return height;

}

}

pic:自己寫的mappic類的intance:

以下內(nèi)容為程序代碼:

package com.nenghe.mapeditor;

import javax.swing.imageicon;

public class mappic {

imageicon[] baseimages;

imageicon[] itemimages;

imageicon image1;

public mappic() {

init();

}

public void init() {

baseimages = new imageicon[9];

baseimages[0] = new imageicon(mappic.class.getresource("m1.png"/images/wink.gif[/img]);

baseimages[1] = new imageicon(mappic.class.getresource("m2.png"/images/wink.gif[/img]);

baseimages[2] = new imageicon(mappic.class.getresource("m3.png"/images/wink.gif[/img]);

baseimages[3] = new imageicon(mappic.class.getresource("m4.png"/images/wink.gif[/img]);

baseimages[4] = new imageicon(mappic.class.getresource("m5.png"/images/wink.gif[/img]);

baseimages[5] = new imageicon(mappic.class.getresource("m6.png"/images/wink.gif[/img]);

baseimages[6] = new imageicon(mappic.class.getresource("m7.png"/images/wink.gif[/img]);

baseimages[7] = new imageicon(mappic.class.getresource("m8.png"/images/wink.gif[/img]);

baseimages[8] = new imageicon(mappic.class.getresource("m9.png"/images/wink.gif[/img]);

itemimages = new imageicon[3];

itemimages[0] = new imageicon(mappic.class.getresource("error.png"/images/wink.gif[/img]);

itemimages[1] = new imageicon(mappic.class.getresource("i1.png"/images/wink.gif[/img]);

itemimages[2] = new imageicon(mappic.class.getresource("i2.png"/images/wink.gif[/img]);

}

public imageicon getimageicon(int x, int flags) {

if (flags == 0) {

return baseimages[x];

} else if (flags == 1) {

return itemimages[x];

}

return null;

}

}

寫mapbutton在于處理事件的時(shí)候可以準(zhǔn)確的獲得按鈕的坐標(biāo),忘了說了,map界面中我是用按鈕代替地圖方格的.這是很容易想到的,最笨也是最省力的辦法

pic單獨(dú)寫好改,什么時(shí)候內(nèi)容改變了,很容易改,硬要合寫沒有也隨便.

下面就是事件了

有兩個(gè)事件要處理,第一個(gè)是按鈕事件,第二個(gè)菜單事件

按鈕事件我套用這樣的結(jié)構(gòu)

以下內(nèi)容為程序代碼:

actionlistener buttonlistener = new actionlistener() {

public void actionperformed(actionevent e) {

//system.out.println(e.tostring());

mapbutton pressedbutton = (mapbutton) e.getsource();

mapdraw.temp_x = pressedbutton.getbuttonwidth();

mapdraw.temp_y = 0;

//system.out.println(mapdraw.temp_x+" "+mapdraw.temp_y);

}

};

....

basemapbutton[i].addactionlistener(buttonlistener);

jbuilder中把按鈕事件事件單獨(dú)生成一個(gè)類,我不明白,看不懂.真的很高深.

菜單事件模型jbuilder自己加的.overwrite

以下內(nèi)容為程序代碼:

public void *_actionperformed(actionevent e) {...}

用兩個(gè)中間值從主界面向map界面?zhèn)鬟f按了什么:

這里是map界面中的按鈕的事件處理程序

以下內(nèi)容為程序代碼:

actionlistener buttonlistener = new actionlistener() {

public void actionperformed(actionevent e) {

mapbutton pressedbutton = (mapbutton) e.getsource();

pressedwidth = pressedbutton.getbuttonwidth();

pressedheight = pressedbutton.getbuttonheight();

if (temp_y == 0) {

if (item[pressedwidth][pressedheight] != 0) {

item[pressedwidth][pressedheight] = 0;

jfm.showmessage("這里的道具已被置空!\nthe item has been null!"/images/wink.gif[/img];

}

map[pressedwidth][pressedheight] = temp_x;

pressedbutton.seticon((icon) pic.getimageicon(temp_x,

temp_y));

} else {

if (map[pressedwidth][pressedheight] == 0) {

jfm.showmessage("道具不能放在這!\nnot put item at this point!"/images/wink.gif[/img];

} else {

if (temp_x == 0) {

byte value = map[pressedwidth][pressedheight];

item[pressedwidth][pressedheight] = 0;

pressedbutton.seticon((icon) pic.getimageicon(

value, 0));

} else {

pressedbutton.seticon((icon) pic.getimageicon(

temp_x, temp_y));

item[pressedwidth][pressedheight] = temp_x;

}

}

}

}

};

請(qǐng)問兩個(gè)中間值是什么呢?一目了然哦

最后是生成map

以下內(nèi)容為程序代碼:

public void createmap() throws ioexception {

try {

dataoutputstream mapbinaryfile = new dataoutputstream(

new fileoutputstream(mapeditor.filename + "map"/images/wink.gif[/img]);

dataoutputstream itembinaryfile = new dataoutputstream(

new fileoutputstream(mapeditor.filename + "item"/images/wink.gif[/img]);

mapbinaryfile.writebyte(width);

mapbinaryfile.writebyte(height);

for (byte i = 0; i height; i++)

for (byte j = 0; j width; j++) {

//system.out.println(i+" "+j);

byte mapvalue = map[i][j];

byte itemvalue = item[i][j];

if (mapvalue != 0) {

system.out.println(i+" "+j+" "+ mapvalue);

mapbinaryfile.writebyte(j);

mapbinaryfile.writebyte(i);

mapbinaryfile.writebyte(mapvalue);

}

if (itemvalue != 0) {

itembinaryfile.writebyte(j);//x

itembinaryfile.writebyte(i);//y

itembinaryfile.writebyte(itemvalue);

}

}

mapbinaryfile.close();

itembinaryfile.close();

} catch (eofexception e) {

system.err.println("error"/images/wink.gif[/img];

}

}

如何使用java 開發(fā)百度地圖

百度有提供api的,一般是按照api給的網(wǎng)址,在網(wǎng)址后加經(jīng)緯度或者地區(qū)名,但是百度地圖要申請(qǐng)秘鑰的,這個(gè)需要自己去申請(qǐng)一個(gè),免費(fèi)的,類似的功能你可以參考下面的源碼雖然是javascript的,但是java用起來差不多,畢竟你的地圖肯定是在web頁面顯示的

!DOCTYPE?html??

html??

head??

meta?name="viewport"?content="initial-scale=1.0,?user-scalable=no"?/??

meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/??

titleHello,?World/title??

style?type="text/css"??

html{height:100%}??

body{height:100%;margin:0px;padding:0px}??

#container{height:100%}??

/style??

script?type="text/javascript"?src=";ak=您的密鑰"

//v2.0版本的引用方式:src=";ak=您的密鑰"

//v1.4版本及以前版本的引用方式:src=";key=您的密鑰callback=initialize"

/script

/head??

body??

div?id="container"/div?

script?type="text/javascript"?

var?map?=?new?BMap.Map("container");??????????//?創(chuàng)建地圖實(shí)例??

var?point?=?new?BMap.Point(116.404,?39.915);??//?創(chuàng)建點(diǎn)坐標(biāo)??

map.centerAndZoom(point,?15);?????????????????//?初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別??

/script??

/body??

/html


本文標(biāo)題:java地圖代碼 java版地圖怎么做
標(biāo)題路徑:http://weahome.cn/article/dopisch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部