1

インド全土のブランドの店舗の場所を表示するために、Googleマップを作成しています...

SQLサーバーデータベースに緯度と経度を含む完全な住所を保存しました...

ここでは、データベースから住所を取得して自分の Web ページに表示することができますが、住所を Google マップにマッピングすることに固執しています...

ここでは、ユーザーが州/都市/任意の場所の名前を入力して検索ボタンをクリックできるように、テキストボックスを保持しています。次に、マップ上の対応する店舗の場所をマーカーでマークする必要があります..

ここにグーグルマップの私のコードがあります...

<script type="text/javascript">
    var infowindow = null;
    function initialize() {
        //var centerMap = new google.maps.LatLng(13.040547,80.230805);
        var centerMap = new google.maps.LatLng(12.264864, 77.937012);
        var myOptions = {
            zoom: 7,
            center: centerMap,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById("map"), myOptions);
        setMarkers(map, sites);
        infowindow = new google.maps.InfoWindow({ });
    }

    //var sites = '<%=TextBox1.Text%>'
    //alert(sites);
    //[
    //// ['Ambattur', 13.119438,80.148182, 4, 'Ambattur, Chennai, Tamil Nadu, India, 600031'],['Avadi', 13.124453,80.101662,   1, 'Avadi, Tamil Nadu, India, 600017'],  ['Jayanagar', 12.928945,77.590599, 1, 'Jayanagar, Bangalore, Karnataka, India,     560041'],['Indira Nagar', 12.973697,77.641325, 1, 'Indira Nagar, Bangalore, Karnataka, India, 560038'],['TamilNadu',     11.415418,78.662109, 1, 'TamilNadu, India, 600017']
    //];

    function setMarkers(map, markers) {
        for (var i = 0; i < markers.length; i++) {
            var sites = markers[i];
            var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
            var marker = new google.maps.Marker({
                position: siteLatLng,
                map: map,
                icon: new google.maps.MarkerImage(
                'Images/R.png ',
                null, null, new google.maps.Point(0, 42)),
                title: sites[0],
                zIndex: sites[3],
                html: sites[4]
            });

            google.maps.event.addListener(marker, "click", function () {
                infowindow.setContent(this.html);
                infowindow.open(map, this);
            });
        }
    }
</script>

ここでは、サイト変数を使用して、自分の場所を地図上にマッピングできるようにしています。

しかし、ここではデータベースからそれらをマップする必要があります...

どんな助けでも大歓迎です...

ありがとう、シェイマー・アリ・シェイク

4

2 に答える 2

0

グルパランギリタラン..

私の質問で言ったように、私はインド全土に店舗を見つけたいと思っています。そして、痛みの詳細はデータベースに保存されます。これで、店舗の詳細を取得し、コードで地図上に店舗の場所をマークすることができます。検索ボックスにピンコードを指定すると、対応するストアの詳細が取得されるという意味で、ピンコードに対しては正常に機能しています。

さて、私のコードによると、あなたのブログ投稿への返信では、テキストボックスに文字列値しか入力できません。ここでは、数値(ピンコード)にも実装する必要があります。

これが私の更新パネルとタイマークリックイベントのコードです。

protected void UpdatePanel1_Load(object sender, EventArgs e)
    {
        //Linq is used to load the table to the code
        DataClassesDataContext data = new DataClassesDataContext();

        //Select all from the table
        //List<addressmap> lst = (from u in data.addressmaps select u).ToList();
        List<addressmap> lst = (from u in data.addressmaps where u.StoreLocation == TxtSearch.Text || u.StoreCity == TxtSearch.Text || u.StoreState == TxtSearch.Text || u.StoreCountry == TxtSearch.Text select u).ToList();


        //add the table contents to the javascript array so that new locations will be loaded
        foreach (addressmap item in lst)
        {
            ScriptManager.RegisterArrayDeclaration(UpdatePanel1, "infoarray", "'" + item.StoreAddress.ToString() + "'");
            ScriptManager.RegisterArrayDeclaration(UpdatePanel1, "lonarray", item.StoreLongitude.ToString());
            ScriptManager.RegisterArrayDeclaration(UpdatePanel1, "latarray", item.StoreLatitude.ToString());
            ScriptManager.RegisterArrayDeclaration(UpdatePanel1, "bounce", item.StoreBounce.ToString());
        }
    }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        //update the update panel every 10 seconds
        UpdatePanel1.Update();
    }

ここselectステートメントでは、ピンコードも必要です。

どんな助けでもありがたいです。

于 2012-12-06T05:04:43.790 に答える
0

一見すると、あなたのコードは問題ないように見えます。しかし、これが私のコードであり、私にとっては完全にうまく機能します。

myLatlng = 新しい google.maps.LatLng(32.54681317351514, 15.1171875);

map = new google.maps.Map(document.getElementById("gmap"), {mapTypeId: google.maps.MapTypeId.ROADMAP,zoom:2,center:myLatlng});

/* loop which plot the markers on the map*/
// record[i] holds lat&lang in this format'32.54681317351514, 15.1171875'

    var points=record[i].geo_location.split(',');
    marker = new google.maps.Marker({
                 position: new google.maps.LatLng(points[0],points[1]),
                 draggable: false,
                 map: map
                 });
于 2012-12-03T06:22:31.733 に答える