• About Me
  • Java基礎教學
  • 部落格聯播

[jsp]利用Google Map查詢經緯度

如果手上有一堆地址清單想要知道它們的經緯度如何?要怎麼做呢?這裡介紹一個很簡單的方法,利用二個Ajax及Google Map就可以完成,一個要求地址欄位及key值(這其實可以直接全都先輸出成javascript的Array就好了),另一個接收到經緯度資料後回傳給Server做儲存(這也可以直接利用一個TextArea存放,到時再複製起來存放),而Google Map最主要的功能就是把地址轉換成經緯度。

GoogleMap3.png

做法及想法如下:

1.建立資料庫Table

需要有一個pk值、地址、經度、緯度及一個記錄是否已取得成功的註記符號,MySQL語法如下:

ps.先建立幾筆資料做測試,如下insert

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `test`.`Address` (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `zip_name` VARCHAR(45) NOT NULL,
  `address` VARCHAR(500) NOT NULL,
  `latitude` VARCHAR(100),
  `longitude` VARCHAR(100),
  `flg` VARCHAR(1),
  PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
 
INSERT INTO ADDRESS (zip_name,address) 
VALUES ('台中市北屯區', '崇德路130號14樓A1');
INSERT INTO ADDRESS (zip_name,address) 
VALUES ('台中市西區', '忠明南路122號');

詳細文章

prototype Ajax回傳json物件的處理

一般人在設計ajax成功回傳事件時,有幾種方式來處理回傳的資料,一種是純文字或html code,一種是xml格式那另一種就是json格式,json格式不像xml需要成對的tag,所以在回傳資料長度上會顯的短很快,如果整個網站都大量使用ajax方法的話,選擇json是一個很好的方法。

ajaxjson2.png

json的相關資訊可以在這裡看到:JSON in JavaScript

prototype這個framework本身就有支援To JSON的方法,有二種格式可以轉換成json,一種是javascript的class,另一種就是純文字了,不過純文字的內容要為json格式才能被轉換,如下:

{"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};

詳細文章

Java判斷式-流程判斷是與否

判斷式的使用方法在各種語言上其實都大同小異,不外乎是if else及switch或著是? : 三種,在使用上每個判斷式其後用左右的大刮號{ }夾著要執行的敘述句。以下簡單一下這種種判斷式的用法。

if else 判斷式

if (條件為true))

多行敘述句;;
else

條件為flase的執行敘述句;

或著單行敘述時我們可以使用以下方式

if (條件為true))
單行敘述句;
例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//hello.java
public class hello {
    public static void main(String args[])
    {
        int x =5;
        int y = 6;
        int z =3;
        if(x>y)
            System.out.println("x>y");
        else //執行else內的敘述句,輸出x<y
            System.out.println("x<y");
 
        System.out.println("----------------------------");
 
        if(x>z)//執行if內的敘述句,輸出x>z
        {
            System.out.println("第二例子");
            System.out.println("x>z");
        }
        else
        {
            System.out.println("第二例子");
            System.out.println("x<z");
        }
    }
}

詳細文章

Java關鍵字及變數命名方式

關鍵字:

Java語言本身有一些關鍵字(keyword)及保留字是不能用來當做變數、方法或標記名稱的,每一個關鍵字都有其特殊作用,撰寫人員只可以依其功能加以使用,而不能重新定義它,否則會發生編譯錯誤。

變數的命名方式:

變數的名稱需要是一個合法的"識別字"(Indetifier),識別字是使用英文字母開頭不限長度的Uncode字串,包含字母、數字、底線不可以符號為開頭,如逗號,、點.等。

  • 名稱不可為關鍵字
  • 名稱大小寫是有分別的
  • 名稱在其宣告範圍裡必需是唯一的

變數宣告方式:

資料型態+空白+變數,是一種宣告方式,宣告此變數的資料型態為何,而其後加上= 值或= new Object();可以直接給於初始值,當其型態為一種物件時,而其=null,代表此變數為空值,已不在指定某一記憶體。

詳細文章

Java運算子

有了基本型態的關念後,再來是如何利用基本型態來做運算、轉換或指定,做型態間的運算、轉換或指定,中間夾者的就是運算子(operator),運算子是由一個、二個或三個符號所組成,而這個符號我們可以叫他做token,運算。

以下有個列表,是Java比較常用的運算字,而其優先等及是由上而下,也就是說當使用++時會比使用%來早的運算。

ex.

		int x =5;
		//答案是1 + (5%6) = 6
		System.out.println(1+x%6);
		//答案是6 % 6 = 0
		System.out.println(++x%6);

詳細文章