本文目錄一覽:
- 1、我的世界java版地圖怎麼下載?
- 2、如何使用java 開發百度地圖
- 3、如何做一個簡單的java地圖編輯器
- 4、java如何實現電子地圖的定位
- 5、用java編寫一個學校地圖
- 6、百度地圖api java怎麼用
我的世界java版地圖怎麼下載?
我的世界java版地圖可以到我的世界遊戲論壇下載。
《我的世界》是由Mojang Studios開發,在中國由網易代理的沙盒式建造遊戲,遊戲於2017年8月8日在中國大陸獨家運營。
遊戲著重於讓玩家去探索、交互、並且改變一個由一立方米大小的方塊動態生成的地圖。除了方塊以外,環境單體還包括植物、生物與物品。遊戲里的各種活動包括採集礦石、與敵對生物戰鬥、合成新的方塊與收集各種在遊戲中找到的資源的工具。
遊戲中的無限制模式讓玩家在各種多人遊戲伺服器或他們的單人模式中進行創造建築物、作品與藝術創作。其他功能包括邏輯運算與遠程動作的紅石電路、礦車及軌道,以及稱之為「下界」的神秘世界。最終可以選擇前往一個叫作「末路之地」的維度,並擊敗末影龍。
遊戲內容:
玩家們可以自由選擇遊戲模式 [生存、創造、冒險、極限 (僅Java版) 和旁觀模式(僅Java版) ]。在各種模式中體驗不一樣的有趣玩法,在生存模式中享受打怪、冒險等多種樂趣,在創造模式下享受當創世神的樂趣。該遊戲以玩家在三維空間中自由地創造和破壞不同種類的方塊為主題。
玩家在遊戲中可以在單人或多人模式中通過摧毀或創造精妙絕倫的建築物和藝術,或者收集物品探索地圖以完成遊戲的成就(進度)。玩家也可以嘗試紅石電路和指令等玩法。
如何使用java 開發百度地圖
百度有提供api的,一般是按照api給的網址,在網址後加經緯度或者地區名,但是百度地圖要申請秘鑰的,這個需要自己去申請一個,免費的,類似的功能你可以參考下面的源碼雖然是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”); // 創建地圖實例
var point = new BMap.Point(116.404, 39.915); // 創建點坐標
map.centerAndZoom(point, 15); // 初始化地圖,設置中心點坐標和地圖級別
/script
/body
/html
如何做一個簡單的java地圖編輯器
地圖編輯器思路如下:
這個小地圖是3×3的,我們用漢字對它進行描述:
石頭 空白 雪地
空白 磚牆 空白
水面 空白 草地
這像什麼? 像不像二維數組.! 所以我們可以使用二維數組來存儲一副地圖.
當然了使用漢字來描述地圖, 還是太麻煩…
我們使用數字來存儲更好.把數字和對應的圖片做好一一對應的關係.比如0代表空白 1代表石頭 … 繪製地圖的時候,循環二維數組,如果是1就在此處畫石頭,循環到0就什麼也不畫直接跳過..
拓展,如果還想有稍微立體點的效果, 就是比如有薄霧什麼的, 那麼你可以建立另外一個天氣圖層的二維數組, 這個數組就是繪製薄霧等天氣的, 這個要最後繪製, 這樣才能起到薄霧對下面地圖的遮擋..
編輯地圖的時候 ,先點擊一個圖片,表示等下需要繪製的圖片是哪一個.然後在編輯地圖的時候按下滑鼠代表開始開始繪製, 然後滑鼠拖動到哪裡就繪製到哪裡, 最後鬆開滑鼠鬆開, 完成繪製
地圖的保存: 二維數組可以直接把每個元素寫入到文本文件里, 當然了也可以直接把整個二維數組對象都寫入到文件里,使用的時候,直接讀取還原即可
java如何實現電子地圖的定位
CellInfoManager
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.telephony.CellLocation;
import android.telephony.NeighboringCellInfo;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.telephony.gsm.GsmCellLocation;
import android.util.Log;
public class CellInfoManager {
private int asu;
private int bid;
private int cid;
private boolean isCdma;
private boolean isGsm;
private int lac;
private int lat;
private final PhoneStateListener listener;
private int lng;
private int mcc;
private int mnc;
private int nid;
private int sid;
private TelephonyManager tel;
private boolean valid;
private Context context;
public CellInfoManager(Context paramContext) {
this.listener = new CellInfoListener(this);
tel = (TelephonyManager) paramContext.getSystemService(Context.TELEPHONY_SERVICE);
this.tel.listen(this.listener, PhoneStateListener.LISTEN_CELL_LOCATION | PhoneStateListener.LISTEN_SIGNAL_STRENGTH);
context = paramContext;
}
public static int dBm(int i) {
int j;
if (i = 0 i = 31)
j = i * 2 + -113;
else
j = 0;
return j;
}
public int asu() {
return this.asu;
}
public int bid() {
if (!this.valid)
update();
return this.bid;
}
public JSONObject cdmaInfo() {
if (!isCdma()) {
return null;
}
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put(“bid”, bid());
jsonObject.put(“sid”, sid());
jsonObject.put(“nid”, nid());
jsonObject.put(“lat”, lat());
jsonObject.put(“lng”, lng());
} catch (JSONException ex) {
jsonObject = null;
Log.e(“CellInfoManager”, ex.getMessage());
}
return jsonObject;
}
public JSONArray cellTowers() {
JSONArray jsonarray = new JSONArray();
int lat;
int mcc;
int mnc;
int aryCell[] = dumpCells();
lat = lac();
mcc = mcc();
mnc = mnc();
if (aryCell == null || aryCell.length 2) {
aryCell = new int[2];
aryCell[0] = cid;
aryCell[1] = -60;
}
for (int i = 0; i aryCell.length; i += 2) {
try {
int j2 = dBm(i + 1);
JSONObject jsonobject = new JSONObject();
jsonobject.put(“cell_id”, aryCell[i]);
jsonobject.put(“location_area_code”, lat);
jsonobject.put(“mobile_country_code”, mcc);
jsonobject.put(“mobile_network_code”, mnc);
jsonobject.put(“signal_strength”, j2);
jsonobject.put(“age”, 0);
jsonarray.put(jsonobject);
} catch (Exception ex) {
ex.printStackTrace();
Log.e(“CellInfoManager”, ex.getMessage());
}
}
if (isCdma())
jsonarray = new JSONArray();
return jsonarray;
}
public int cid() {
if (!this.valid)
update();
return this.cid;
}
public int[] dumpCells() {
int[] aryCells;
if (cid() == 0) {
aryCells = new int[0];
return aryCells;
}
ListNeighboringCellInfo lsCellInfo = this.tel.getNeighboringCellInfo();
if (lsCellInfo == null || lsCellInfo.size() == 0) {
aryCells = new int[1];
int i = cid();
aryCells[0] = i;
檢舉補充回答:
return aryCells;
}
int[] arrayOfInt1 = new int[lsCellInfo.size() * 2 + 2];
int j = 0 + 1;
int k = cid();
arrayOfInt1[0] = k;
int m = j + 1;
int n = asu();
arrayOfInt1[j] = n;
IteratorNeighboringCellInfo iter = lsCellInfo.iterator();
while (true) {
if (!iter.hasNext()) {
break;
}
NeighboringCellInfo localNeighboringCellInfo = (NeighboringCellInfo) iter.next();
int i2 = localNeighboringCellInfo.getCid();
if ((i2 = 0) || (i2 == 65535))
continue;
int i3 = m + 1;
arrayOfInt1[m] = i2;
m = i3 + 1;
int i4 = localNeighboringCellInfo.getRssi();
arrayOfInt1[i3] = i4;
}
int[] arrayOfInt2 = new int[m];
System.arraycopy(arrayOfInt1, 0, arrayOfInt2, 0, m);
aryCells = arrayOfInt2;
return aryCells;
}
public JSONObject gsmInfo() {
if (!isGsm()) {
return null;
}
JSONObject localObject = null;
while (true) {
try {
檢舉補充回答: JSONObject localJSONObject1 = new JSONObject();
String str1 = this.tel.getNetworkOperatorName();
localJSONObject1.put(“operator”, str1);
String str2 = this.tel.getNetworkOperator();
if ((str2.length() == 5) || (str2.length() == 6)) {
String str3 = str2.substring(0, 3);
String str4 = str2.substring(3, str2.length());
localJSONObject1.put(“mcc”, str3);
localJSONObject1.put(“mnc”, str4);
}
localJSONObject1.put(“lac”, lac());
int[] arrayOfInt = dumpCells();
JSONArray localJSONArray1 = new JSONArray();
int k = 0;
int m = arrayOfInt.length / 2;
while (true) {
if (k = m) {
localJSONObject1.put(“cells”, localJSONArray1);
localObject = localJSONObject1;
break;
}
int n = k * 2;
int i1 = arrayOfInt[n];
int i2 = k * 2 + 1;
int i3 = arrayOfInt[i2];
JSONObject localJSONObject7 = new JSONObject();
localJSONObject7.put(“cid”, i1);
localJSONObject7.put(“asu”, i3);
localJSONArray1.put(localJSONObject7);
k += 1;
}
} catch (JSONException localJSONException) {
localObject = null;
}
}
}
public boolean isCdma() {
if (!this.valid)
update();
用java編寫一個學校地圖
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:
以下內容為程序代碼:
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;
}
}
百度地圖api java怎麼用
一、申請密鑰
1、先用eclipse創建一個Android工程
2、在百度api官網上申請一個密鑰,鏈接:
bubuko.com,布布扣
二、工程配置
1、將baidumapapi_vX_X_X.jar拷貝到工程libs目錄下,將libBaiduMapSDK_vX_X_X.so拷貝到libs\armeabi
目錄下,拷貝完成後,如下所示:
註:liblocSDK3.so和locSDK_3.1.jar為百度定位SDK所使用資源,開發者可根據實際需求自行添加。
bubuko.com,布布扣
2、右鍵工程屬性,在Libraries中選擇「Add External JARs」,選擇baidumapapi_vX_X_X.jar,確定返回
配置好以上步驟,即可使用百度地圖了
三、顯示百度地圖
1、在android配置清單文件中AndroidManifest.xml添加開發密鑰和所需許可權
application meta-data android:name=”com.baidu.lbsapi.API_KEY” android:value=”開發者 key” / /application
所需許可權
uses-permission android:name=”android.permission.GET_ACCOUNTS” /
uses-permission android:name=”android.permission.USE_CREDENTIALS” /
uses-permission android:name=”android.permission.MANAGE_ACCOUNTS” /
uses-permission android:name=”android.permission.AUTHENTICATE_ACCOUNTS” /
uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /
uses-permission android:name=”android.permission.INTERNET” /
uses-permission android:name=”com.android.launcher.permission.READ_SETTINGS” /
uses-permission android:name=”android.permission.CHANGE_WIFI_STATE” /
uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” /
uses-permission android:name=”android.permission.READ_PHONE_STATE” /
uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” /
uses-permission android:name=”android.permission.BROADCAST_STICKY” /
uses-permission android:name=”android.permission.WRITE_SETTINGS” /
uses-permission android:name=”android.permission.READ_PHONE_STATE” /
2、在xml布局中添加地圖控制項
com.baidu.mapapi.map.MapView
android:id=”@+id/bmapView”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:clickable=”true” /
?3、在應用程序創建時初始化,SDK引用的全局變數Context
注意:在SDK各功能組件使用之前都需要調用
SDKInitializer.initialize(getApplicationContext());,因此我們建議該方法放在Application的初始化方法中
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各組件之前初始化context信息,傳入ApplicationContext
SDKInitializer.initialize(getApplicationContext());
System.out.println(“SDKInitializer一初始化”);
}
}
設置自定義的application為默認應用
application
android:name=”com.bao.ah.MyApplication”
android:allowBackup=”true”
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme”
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各組件之前初始化context信息,傳入ApplicationContext
//注意該方法要再setContentView方法之前實現
//SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
}
}
4、百度地圖應和Activity生命周期綁定
public class MainActivity extends Activity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各組件之前初始化context信息,傳入ApplicationContext
//注意該方法要再setContentView方法之前實現
//SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//獲取地圖控制項引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity執行onResume時執行mMapView. onResume (),實現地圖生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity執行onPause時執行mMapView. onPause (),實現地圖生命周期管理
mMapView.onPause();
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190946.html