星期一, 1月 25, 2016

[GoogleMap] 如何監聽zoom變更的控制

如何監聽zoom變更的控制
var 
 map = new google.maps.Map($mapElement[0], mapOptions);
                console.log($mapElement[0]);
                
                google.maps.event.addListener(map, 'zoom_changed', function () {
                    var zoomLevel = map.getZoom();
                    logger.debug('zoom_changed to level: ' + zoomLevel);
}

星期四, 1月 21, 2016

[iOS Swift] 如何新增專案內的資料夾

當專案愈來愈大的時候,
就需要好好定義一下專案目錄的結構,
記錄一下Xcode如何在專案中新增資料夾。

1. 專案目錄下按右鍵
2. 選擇New Group即可


星期一, 1月 18, 2016

[iOS Swift] 發送網路請求錯誤: App Transport Security has blocked a cleartext


在使用https://github.com/Alamofire/Alamofire來進行網路資源的request,
執行後發生以下的錯誤:

App Transport Security has blocked a cleartext 

解決方法只要info.plist檔案加入App Transport Security Settings的key,
並在此key下面再新增Allow Arbitrary Loads的key且屬性請設為YES即可


參考:




星期日, 1月 10, 2016

星期一, 1月 04, 2016

[freebooard] freeboard自定外掛踩雷

在測試自定義freeboard外掛的時候,發現設定屬性填空字串或空陣列,
初始化整個儀表版是會錯誤的。有用這個套件的朋友要注意一下。

[AngularJS] i18n 使用筆記

記錄一下angular translate的使用快速筆記。

環境設定

請引用angular-translate.min.js
使用模組 pascalprecht.translate

語言檔

透過 $translateProvider新增多國語系檔對應的內容,你可以另存以下的js至zh_TW.js檔
angular.module('myApp.controllers').config(function ($translateProvider) {
 $translateProvider
 .useSanitizeValueStrategy('escaped')
 .translations('zh_TW', {
  TRANSLATION_ID: 'Hello world !!',
  TRANSLATION_ID_2: 'Hello world !! {{value}}',
  TRANSLATION_ID_3: 'Hello world !! {{value1}},{{value2}}',
 });
});

$translate service處理多語系

  $translate('').then(function(translation) {
                    //translation為取得的鍵值

                });


Filter處理多語系

{{ 'TRANSLATION_ID' | translate }}


動態取代多國語言參數


使用filter
{{ 'TRANSLATION_ID_2' | translate:'{"value": 'Ken' }' }}

使用filter與多個參數
{
'TRANSLATION_ID_3': 'Hello world !! {{value1}},{{value2}}'
}

如果要多參數時,請在新增一個json變數至scope,如 $scope.translationData = {value1: 'Ken',value2: 'Ken2'}

{{ 'TRANSLATION_ID_3' | translate: translationData }}

使用directive表示式 在元素內透過translate與translate-values二個directive進行資料繫結

translate="TRANSLATION_ID_3" translate-values="{ value1: translationData.value1,value2: translationData.value2 }

事件

可以取得當語言變更的事件
$rootScope.$on('$translateChangeSuccess', function () {

// Language has changed
 });

啟動app設定語言方法

myApp.config(['$translateProvider','$windowProvider',
    function($translateProvider,$windowProvider) {
    var defaultLanguage = 'zh_TW';//你定義的語系檔名稱
    $translateProvider.use(defaultLanguage);
}])



星期五, 12月 25, 2015

[CI] 客制化404控制器來處理查詢結果不存在的解法

因為想客制化404的頁面來處理當用戶查詢條件結果不存在時的對應頁面,
但又不想覆想原本的show_404();系統內建的方法。

因此新增了一個新的Error_404的控制器,裡面放了index()與object_not_found()二個方法。分別針對網址亂key in 的404處理與針對查詢結果失敗的404處理。

因此在其他查詢結果的控制器如果遇到查詢失敗時,直接呼叫Error_404控制器中的object_not_found方法,因此我們需要了解如何透過CI在控制器中如何呼叫另一個控制器的方法。


參考的解法如下


yes you can

load like this inside your controller 

$this->load->library('../controllers/whathever');

and call the following method:

$this->whathever->functioname();

星期一, 12月 21, 2015

[Apache] apache無法啟動: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available

發現VM的apache無法啟動,噴了一些
make_sock: could not bind to address 0.0.0.0:80 no listening sockets available的錯誤,找到這篇wiki https://wiki.apache.org/httpd/CouldNotBindToAddress

可能是有其他process程式佔住port或不是root的權限(Unix based systems disallow non-root users to bind processes to port numbers below 1024. Get root!)

不過最後下了apachectrl start就開啟了....

[CI] 不使用其他library在樣版裡面再讀另一個樣版

簡單的在樣版裡面又load另一個樣版的範例如下:

你要載入的目的地樣版,注意這裡的$content請輸入你的樣版路徑
<div id="content"><?php $this->load->view($content) ?></div>

在控制器裡面新增一個content變數,裡面寫你樣版的路徑

$view_data = array();
$view_data['content'] = '另一個view的路徑';
$this->load->view('主view的路徑', $view_data);
http://stackoverflow.com/questions/15096828/load-a-view-inside-another-view

星期日, 12月 20, 2015

[php] htaccess: Options not allowed here 異常

今天在架CI的舊專案時,發現以下error。

[Fri Dec 04 15:51:36.019560 2015] [core:alert] [pid 19393] [client 10.211.55.2:58540] /var/www/<專案名稱>/.htaccess: Options not allowed here

解決方法是把原本htaccess下面的Options設定先註解掉就好了,
不知為何先前要寫這一行XD

#Options +FollowSymLinks
        
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(system|application).*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?/$1 [L]



星期四, 12月 17, 2015

[Javascript] Slideout.js製作手機滑動的側欄選單

想要有mobile web app的側欄選單,可以參考Slideout.js。
此元件有跟angular的eeh-navigation module整合,
先記錄一下。有使用再來寫使用說明。


星期四, 12月 10, 2015

[Handlerbar.js] 如何透過handlebar.js取得資料集內的資料

如果使用handlebar.js想要取得綁定的索引值的話,其內建的helpe就有提供@index與@key,供我們取得索引。

陣列資料

{{#each array}}

{{@index}}: {{this}}

{{/each}}

物件資料

{{#each object}}

{{@key}}: {{this}}

{{/each}}

基本上你可以取得索引值後,可以將這個值render在元素的屬性上,
例如data-index="{{#index}}",之後用jquery綁定元素可以簡單取得資料集裡面的目標資料了。

星期五, 12月 04, 2015

[Bower] ubuntu run bower 發生錯誤

在新裝的ubuntu裝完npm又裝bower後,發現bower無法使用

bigd@ubuntu:~$ bower
/usr/bin/env: node: No such file or directory


可以安裝 nodejs-legacy就可以解決

sudo apt-get install nodejs-legacy

星期五, 11月 20, 2015

星期四, 11月 19, 2015

[Android] 解除選單背景色變透明度(background-is-always-transparent)的問題

最近在處理APP選單變透明的問題,
會導致畫面的字會重疊,因此就被發bug了,
試了一些解法,最後成功的方式,記錄一下免得有新手爆雷XD

只要在styles.xml裡面加入android:panelBackground控制就好,
完整擷圖如下:


參考:
http://stackoverflow.com/questions/27787890/android-optionsmenu-issue-background-is-always-transparent


星期二, 11月 17, 2015

[AngularJS-3rd] eeh-navigation 選單模組

 eeh-navigation強大的選單模組,作者也提供完整的範例



[Andriod] 使用按鈕觸發選單: openOptionsMenu();


使用按鈕觸發menu被顯示。
Button menuBtn = (Button)this.findViewById(R.id.topic_3_menu_button);
menuBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d(TAG,"點擊功能選單鈕");
openOptionsMenu();
}


});

http://stackoverflow.com/questions/18913635/how-to-trigger-a-menu-button-click-event-through-code-in-android

其他你感興趣的文章

Related Posts with Thumbnails