2017/1/20

intelXDK 使用tinyMap 取得 Google Map API

intelXDK 使用tinyMap 取得 Google Map API 

Author: Willie
 ----------

近來利用intel XDK 開發Cross Platform 的APP, 好處就不用多說了, 以下是我利用 tinyMap 的應用實例:




在Header中引入Google API及tinyMap, 其中在底下[You API Key], [Your Path]分別輸入API KEY及你的tinyMap的路徑。

        <!-- Google Map API-->
        <script src="http://maps.googleapis.com/maps/api/js?key=[Your API Key];sensor=TRUE" type="text/javascript"></script>
        <!-- TinyMap -->
        <script src="[Your Path]/jQuery-tinyMap-master/jquery.tinyMap.min.js" type="application/javascript"></script>
在js/index_user_scripts.js 裡面註冊你的按鈕的Event呼叫loadMap()這個function,以下述的註冊方式只要css屬性中有cust-loadmap就會執行loadMap。
function register_event_handlers()
 {
    $(document).on("click", ".cust-loadmap", function(evt)
    {
        loadMap();
    });
    
 }
 $(document).ready(register_event_handlers);
})();

在js/app.js裡面寫入這段loadMap的Code。

// Geolocation using TinyMap API
// $("#divMyMap")請使用自行命名的DIV物件
function loadMap(){
            $('#divMyMap').tinyMap('panto', '台南市新化區和平街53號');
            $('#divMyMap').tinyMap({
                zoom:14,
                center:'台南市新化區和平街53號',
                //以用戶目前位置為中心
                autoLocation:false,
                marker: [
                    {
                        addr: '台南市新化區和平街53號',
                        text: '武德殿 06-xxxxxxx',
                        label: '武德殿'
                      
                    },
                    {
                        addr: '台南縣新化鎮中正路127巷35號',
                        text: '瓜瓜園 06-xxxxxxx',
                        label: '瓜瓜園'
                       
                    } 
                ]
            });
}

如此, 即可在按下按鈕時就產生MAP, 但要在按鈕轉到你要的頁面,這樣還是不夠,請在你的ICON上面設定如下,加入指定的頁面,以我的實例為主是利轉到為#page_map,這個部份就請依你的狀況來作調整。



在這裡面你可以注意到我利用app framework的data-load屬性來呼叫loadMap,另外,我的地圖使用的DIV (divMyMap) 也是在這個指定。




Vote to My Baby 可愛寶寶周小弟



丁鴻志婦產科正舉辨可愛寶寶票選活動,請廣大的網友們幫我的寶寶在照片上按個讚!
活動截止日02/28/2017
感謝各位好友們!謝謝

點選照片即可連到周小弟的照片,請在上面按個讚,謝謝

2017/1/9

MVC Code-First 設定欄位Unique

Author: Willie Chou
Date:2017/01/09


需求¨:利用CodeFirst 的計巧將Table的某個欄位設定為Unique
作法:

1. 引用 using System.ComponentModel.DataAnnotations.Schema;
2. 加入[Index .....] , 如附圖


3, 執行 Add-Migration >> Update-Database
4. 結果如附圖




以上,謝謝



2017/1/6

MVC woff 404 error

Author: Willie Chou
Date: 2017/01/06

近日開發時遇上網站無法存取  .woff 的問題,檢查了資料夾內確有此檔!
到底是什麼原因呢?


經查Stack Overflow 後原來出錯在Header的設定,它提供了二種解決方式! 請大家直接連造過去即可得到答案!

Why is @font-face throwing a 404 error on woff files?

2017/1/3

Linq 回傳重覆資料

Linq Return Duplicate Rows 

Author: Willie Chou
Date: 2017/01/03

今日解決了一個Linq 回饋多筆重覆資料的問題,經上網查找後此文(Link)給了個靈感,原來是我在設定Model的時候指定給了Key欄位不正確的問題 (詳細的原因可以參考連結文章)。

Error




修正Model, 指定正確的Key於欄位上


再執行 Add-Migration >> Update-Database

問題修復! 大功告成!

*註:這裡我因為是自訂的Database View因此在 Migration 時下的指令為 Add-Migration fixIssue -IgnoreChanges


Reference:
http://www.itworld.com/article/2833108/development/linq-in--net-returning-duplicate-rows-from-a-working-sql-view--solved-.html






2016/12/30

Asp.net MVC call Jasper report via REST v2 service

Author: Willie Chou
Date: 2016/12/30


Directly call jasper report via http request.
Please see below scripts.
Hope this is help for you ! Happy New Year !

Please note! the variable _ReportURL format
  _ReportURL  = http://<web url>/jasperserver/rest_v2/reports

  public  ActionResult PrintPO(string POEntry)
        {

           
            //_ReportURL = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportURL"];

            //_ReportUser = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUser"];

            //_ReportUserPWD = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUserPWD"];


            String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(_ReportUser + ":" + _ReportUserPWD));

            string URL = _ReportURL + "/report.pdf?po=" + POEntry;



            CookieContainer myContainer = new CookieContainer();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);

          

            request.CookieContainer = myContainer;

            request.PreAuthenticate = true;                       

            request.Headers.Add("Authorization", "Basic " + encoded);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();



            var fileBytes = response.GetResponseStream();

            string filename = String.Format("PO{0}_{1}.pdf", POEntry, DateTime.UtcNow.ToString("yyyMMddHHmmssfff"));

            return File(fileBytes, response.ContentType,filename); //preview in browser please remove filename

        }



Result as below pix.

2016/12/27

Jasper Server site email 設定

Configure JasperReports Server to send e-mails

Author: WillieChou
Date: 2016/12/27

請留意,更改設定前備份好相關檔案,以利回溯復原!


Step 1. 設定參數 js.quartz.base.properties


檔案路徑 : \jasperserver\WEB-INF\js.quartz.base.properties
加入參數 : 

report.scheduler.mail.sender.host=您的主機 
report.schedulers.mail.sender.protocol=您的協定
report.schedler.mail.sender.port=您的Port
report.scheduler.mail.sender.username=您的帳號
report.scheduler.mail.sender.password=您的密碼


Step 2. 設定參數 applicationContext-report-scheduling.xml


檔案路徑 : \jasperserver\WEB-INF\applicationContext-report-scheduling.xml
我的Host 是利用o365來寄信,並有SSL的安全機制,因此請留意 mail.smtps.auth 要設為 true
參數確認如下: 


 ....


 Step 3.重啟Jasper Server 後大功告成


Reference:

[1] http://community.jaspersoft.com/wiki/how-configure-jasperreports-server-send-e-mails-gmail-mail-account

[2]http://community.jaspersoft.com/wiki/quartz-scheduling-properties