Posts

Showing posts from November, 2012

Android+Google Map API v3 Geocoding(地址轉經緯度度

Image
package wells.example.googlemapexample; import android.app.Activity; import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout.LayoutParams; import android.widget.Toast; public class MainActivity extends Activity {  private static final String MAP_URL = "file:///android_asset/googleMap.html";  private WebView webView;  private EditText addressText;  private Button submit;  private boolean webviewReady = false;   @Override  /** Called when the activity is first created. */  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedIns

動態改變Google Map的大小(以高度為例)

      function resizeMap(size){//         var mid = document.getElementById('map_canvas');         mid.style.height = size + ' px ';         if(map != null) {            google.maps.event.trigger(map, 'resize');         }          }  

Google地圖與Windows C#/Android Java間的溝通

解說與畫面待補 [Form1.cs] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace GoogleMap_1 {     [System.Runtime.InteropServices.ComVisibleAttribute(true)]     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();                       if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "map.html"))             {                 Uri uri = new Uri("file:///" + AppDomain.CurrentDomain.BaseDirectory + "map.html");                 webBrowser1.Navigate(uri);                 webBrowser1.ObjectForScripting = this;             }                   }         public void test(String a)         {             MessageBox.Show(a);         }         private void button1_Click(object sender, EventArgs e)         {            

Android-使用webview在V3版的Google地圖GPS定位

Image
目的:透過GPS或網路定位來決定裝置目前的位置 程式執行動態畫面錄影: https://www.youtube.com/watch?v=_Bw2YP39WOw 畫面中可看到經緯度的資料約每隔一秒更新一次。 測試時必須要用GPS的模擬器播放預存的GPS記錄檔(KML)來模擬實際GPS抓到定位的資料,如下畫面: 程式要能接收GPS或網路的定位資料必須實作LocationListener介面,其中有幾個介面方法可以用在實際上的程式撰寫,像是定位資料的變化的相關方法「public void onLocationChanged(Location location」,其他像是偵測GPS裝置是否啟動或不啟動的方法。 主程式: package wells.example.googlemapexample; import android.app.Activity; import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements LocationListener {  private static final String MAP_URL = "file:///android_asset/googleMap.html";  private WebView webView;  private EditText LatText

Android-使用webview在V3版的Google地圖標註座標

Image
googlemaps.xml < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"     android:layout_width = "fill_parent"     android:layout_height = "fill_parent"     android:focusable = "true"     android:focusableInTouchMode = "true"     android:orientation = "vertical" >     < RelativeLayout         android:id = "@+id/RelativeLayout1"         android:layout_width = "fill_parent"         android:layout_height = "133dp"         android:focusable = "true"         android:focusableInTouchMode = "true" >         < TextView               android:id = "@+id/textView2"               android:layout_width = "wrap_content"               android:layout_height = "wrap_content"               android:layout_centerVertical = "true"               android:text = "緯

Android-使用webview顯示V3版的Google地圖

Image
目的:使用Google Map API v3載入Google地圖。 專案目錄結構如下: 在assets目錄下放置專案要載入的googleMap.html, 內容如下: <!DOCTYPE html > <html>   <head>     <meta charset =" utf -8">     <title>Google Maps JavaScript API v3 Example: Marker Animations</title>     <link href ="/maps/documentation/ javascript /examples/default.css" rel =" stylesheet ">     <script src ="https://maps.googleapis.com/maps/api/js?sensor=false"></script>     <script>         var m1 = new google.maps.LatLng(24.217712, 120.580806); //弘光科技大學,台中市中棲路34號       var map;       function initialize() {         var mapOptions = {           zoom: 15,           mapTypeId: google.maps.MapTypeId.ROADMAP,           center: m1         };         map = new google.maps.Map(document.getElementById('map_canvas'),                 mapOptions);                       }     </script>  

教育部2012全國技專校院學生實務專題製作競賽第2名

Image

Android程式設計-畫面的切換(2) 「切換部份內容」

Image
上一篇 使用setContentView來切換畫面,這樣的切換法可以把整個畫面切換到另一個畫面。實務上,我有另一種想法, 可否只切換 畫面的某一個部份內容 呢? 本篇 演示了以Layout來 切換Layout裏的內容 畫面元件。 程式準備一個主畫面(activity_main.xml),此畫面 分成上下二個部份(二個LinearLayout),上半部放置四個按鈕,下半部做為畫面 移入移出的 版面。 切換畫面的過程如下: 上面 有四個按鈕,各會叫出四個 內容畫面(main1, main2, main3, main4)。 此方 法不使用setContentView來切換整個 畫面,而是使用LinearLaout的removeAllViews與addView將內容元件畫面移出與移入LinearLayout中。這種做 法就像教室裏的佈告欄,我們會把 公告、海報什麼的貼到這個佈告欄 上,佈告欄本身就是一個Layout元件,而公告、海 報什麼的也 還是一 個一個的Layout元件, 程式切換畫面的 做法就是將這些Layout元件自由地轉移 。 注意: 1.四個子畫面LinearLayout本身沒有父佈局畫面,若搬移的畫面是在某一個佈局畫面下(因為Layout可以巢狀),搬移的Layout過程要先從原本所在位置處的父佈局畫面LinearLayout移出,才能移入其他佈局畫面(LinearLayout)。 2.並不一定一定是LinearLayout才能搬移,其他的Layout也可以搬。 3.可以把下式中的LinearLayout換成LinearLayout的父類別Layout,這樣不管是LinearLayout還是RelativeLayout等都一式適用(多形的使用) final  LinearLayout View1 = (LinearLayout) main1.findViewById(R.id. view1 ); 程式 碼: Button button1 , button2 , button3 , button4 ;     @Override     public void onCreate(Bundle savedInstanceState) {