地圖java,地圖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-hk/n/190946.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-30 09:07
下一篇 2024-11-30 09:07

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論