2014年12月16日 星期二

Ruby - 中文地址取得經緯度座標

先使用 gem 安裝 Geocoder
> sudo gem install geocoder

執行 irb :
$ irb

> require 'geocoder'
> my = Geocoder.search("10659 臺北市建國南路二段125號")

執行結果:
 => [#[{"long_name"=>"125", "short_name"=>"125", "types"=>["street_number"]}, {"long_name"=>"Section 2, Jianguo South Road", "short_name"=>"Section 2, Jianguo S Rd", "types"=>["route"]}, {"long_name"=>"新龍里", "short_name"=>"新龍里", "types"=>["administrative_area_level_4", "political"]}, {"long_name"=>"Da’an District", "short_name"=>"Da’an District", "types"=>["administrative_area_level_3", "political"]}, {"long_name"=>"Taipei City", "short_name"=>"Taipei City", "types"=>["administrative_area_level_1", "political"]}, {"long_name"=>"Taiwan", "short_name"=>"TW", "types"=>["country", "political"]}, {"long_name"=>"106", "short_name"=>"106", "types"=>["postal_code"]}], "formatted_address"=>"No. 125, Section 2, Jianguo South Road, Da’an District, Taipei City, Taiwan 106", "geometry"=>{"location"=>{"lat"=>25.029152, "lng"=>121.538369}, "location_type"=>"ROOFTOP", "viewport"=>{"northeast"=>{"lat"=>25.0305009802915, "lng"=>121.5397179802915}, "southwest"=>{"lat"=>25.0278030197085, "lng"=>121.5370200197085}}}, "partial_match"=>true, "types"=>["street_address"]}, @cache_hit=nil>] 

取得陣列裡的資料:
 > my[0].latitude
 => 25.029152 
 > my[0].longitude
 => 121.538369 
 > my[0].address
 => "No. 125, Section 2, Jianguo South Road, Da’an District, Taipei City, Taiwan 106" 
 > my[0].city
 => "Da’an District" 

2014年12月14日 星期日

解決 Mac OS X 10.10 安裝 Android Studio 的錯誤訊息 - Android Studio was unable to find a valid Jvm

安裝Android Studio之後,第一次執行若發生「Android Studio was unable to find a valid JVM」錯誤訊息,通常是因為Android Studio找不到 Java 6 JRE,可能是沒安裝 Java 6 JRE 或 Java 6 系統路徑沒設定好。

如果您跟我一樣,只想安裝了Java 7 或 Java 8 JDK而不想安裝Java 6 JRE。那stackoverflow上的解決方法就可以派上用場。

  1.  先用Mac OS X的Spotlight搜尋 "Android Studio",在視窗最底下可以用Finder顯示"Android Studio"的位置(硬碟>應用程式>Android Studio 或 
    /Applications/Android Studio.app)

    於 Finder 顯示所有項目... 找到Android Studio
  2. 開啟"Android Studio" Application Package,開啟編輯 Info.plist 檔

    找到Info.plist

  3. 將 Info.plist 裡面的JVMVersion版本設定參數從 1.6* 改為 1.6+ ,並存檔


  4. 開啟 "Android Studio" 應該就可以執行了...
#

2014年11月15日 星期六

Inbox by Gmail 可安裝使用了

已經可以在Google Play和App Store下載,完成安裝後就能登入使用囉。

2014年10月25日 星期六

ubuntu 設定開機直接進入文字 (text, console) 模式

vi  /etc/default/grub ,將原來
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

加上註解,並重新新增一行新設定,改為下列後存檔離開:
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="text"
接著執行更新開機GRUB設定
sudo update-grub
執行結果:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-15-generic
Found initrd image: /boot/initrd.img-3.11.0-15-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 12.04 LTS (12.04) on /dev/sda1
done
#

2014年10月18日 星期六

製作 Mac OS X Yosemite 開機安裝碟

透過 App Store 直接升級至新版 Mac OS X Yosemite 或許是最快的方法。但對於需要更新多部 Mac 或打造一部 Hackintosh 而言,卻不一定是最理想的方式。

如同以往的 Mac OS X 升級,完成更新安裝之後,installer安裝程式也會自動從應用程式(Applications)文件夾中消失。我們可透過同時按下鍵盤option鍵並用滑鼠點擊畫面上的Free Upgrade (免費升級)按鈕或是利用 Time Machine 備份檔案重新還原 installer安裝程式。為了節省時間,建議更新至新版 Yosemite 前最好還是製作一支 USB 開機安裝碟,方便日後使用。


  1. 下載 Yosemite Installer:打開 App Store,按下鍵盤 option 鍵,同時用滑鼠點擊畫面上的Free Upgrade (免費升級)按鈕,進行安裝程式下載。

  2. 檔案大小 5.16GB 需要一些時間進行下載


  3. 格式化USB隨身碟:準備一支至少8GB容量的USB隨身碟,先將裡面資料備份後,準備以「硬碟工具程式」進行隨身碟格式化。選擇磁碟格式:Mac OS 擴充格式(日誌式)、輸入名稱:Yosemite 後,進行磁碟機的清除工作。



  4. 寫入開機安裝碟:當Yosemite安裝檔案下載完成後,開啟「終端機」(Terminal)應用程式。並且直接貼上下列指令:

  5. sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Yosemite --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction
    

  6. 輸入密碼:依照畫面提示輸入帳號密碼,等待安裝檔案寫入USB隨身碟中,耐心稍待片刻,直到畫面上出現 Done. 提示。
  7. 看到畫面上出現 Done. 提示

  8. 以USB安裝碟開機:準備升級更新的 Mac 先插上 Yosemite 開機安裝碟,然後按住option鍵同時開機,直到安裝畫面出現後,依照步驟進行安裝即可。

#

2014年10月4日 星期六

angular.js 範例

vi app.html
<html ng-app='myApp'>
<head>
 <title>Your Shopping Cart</title>
 <meta charset="utf-8">
</head>
<body ng-controller='CartController'>
 <h1>Your Order</h1>
 <div ng-repeat='item in items'>
  <span>{{item.title}}</span>
  <input ng-model='item.quantity'>
  <span>{{item.price | currency}}</span>
  <span>{{item.price * item.quantity | currency}}</span>
  <button ng-click="remove($index)">Remove</button>
 </div>
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
 <script>
  var app = angular.module('myApp', []);
 app.controller('CartController', ['$scope', function($scope) {
  $scope.items = [
   {title: '油漆刷子', quantity: 8, price: 3.95},
   {title: '油漆', quantity: 17, price: 12.95},
   {title: '工作服', quantity: 5, price: 6.95}
  ];
  $scope.remove = function(index) {
   $scope.items.splice(index, 1);
  } 
 }]);
 </script>
</body>
</html>

以瀏覽器直接開啟app.html的執行結果:

#