适用于网站市场的Google Maps API密钥

时间:2013-08-26 20:29:25

标签: google-maps

只是一个简单的问题..我已经使用我的API密钥创建了一个谷歌地图。但是,如果我为应用程序创建地图,我应该使用自己的谷歌API密码。

任何人?有个好建议吗?

1 个答案:

答案 0 :(得分:0)

您需要一些服务器端脚本才能存储用户提供的密码。

您的混淆可能实际上是加载密钥,因为它需要包含在脚本src标记中。我将向您展示两者的一个例子。

首先获取存储的API_Key的某种类型的服务器端代码,你不需要使用asp c#..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected string API_KEY;

    protected void Page_Load(object sender, EventArgs e)
    {
        // Load your API key from wherever you stored it on the server (This ones from W3 Schools)
        API_KEY = "AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM";

    }
}

使用您的API密钥动态包含脚本源标记。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">


<script type="text/javascript">
        var api_key_string = '<%= API_KEY %>';
        var fileString = "http://maps.googleapis.com/maps/api/js?key=" + api_key_string + "&sensor=false"
        var sourceString = "<script src=\"" + fileString + "\" type=\"text/javascript\"><\/script>";
        document.write(sourceString);

</script>

<script>

    function initialize() {
        var mapProp = {
            center: new google.maps.LatLng(51.508742, -0.120850),
            zoom: 5,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("googleMap")
  , mapProp);
    }



   google.maps.event.addDomListener(window, 'load', initialize);



</script>

</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div id="googleMap" style="width:500px;height:380px;"></div>
</asp:Content>