Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 如果想要将$news[newsauthor]赋值给另外一个参数该如何操作

[复制链接]
qingwa 发表于 2009-11-4 19:15:16 | 显示全部楼层 |阅读模式
$news[newsauthor]这个变量在SS中代表着发布者,作者的意思。

如果发布者用的是公司的名称,那么如何才能把这个变量传递给google地图的调用代码?SS模板中该如何进行才能实现类似如下网址中google地图根据每个页面不同的公司名称显示该公司在地图上所在的位置。

实例:http://xn--fiqs8sul1dtjf.net/%E7%BE%8E%E6%96%AF%E7%89%B9%E7%BD%97---%E5%8D%8E%E8%8F%B1%E5%88%B6%E8%A1%A3%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8.html

google地图有类似的例子,但是需要手工来完成,网址如下
http://code.google.com/intl/zh-CN/apis/maps/documentation/examples/geocoding-simple.html
问题是如何才能自动完成?

头部的代码

  1.   <head>
  2.     <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  3.     <title>Google 地图 JavaScript API 示例: 简单地址解析</title>
  4.     <script src="http://ditu.google.cn/maps?file=api&amp;v=2.x&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN" type="text/javascript"></script>
  5.     <script type="text/javascript">

  6.     var map = null;
  7.     var geocoder = null;

  8.     function initialize() {
  9.       if (GBrowserIsCompatible()) {
  10.         map = new GMap2(document.getElementById("map_canvas"));
  11.         map.setCenter(new GLatLng(39.917, 116.397), 13);
  12.         geocoder = new GClientGeocoder();
  13.       }
  14.     }

  15.     function showAddress(address) {
  16.       if (geocoder) {
  17.         geocoder.getLatLng(
  18.           address,
  19.           function(point) {
  20.             if (!point) {
  21.               alert("不能解析: " + address);
  22.             } else {
  23.               map.setCenter(point, 13);
  24.               var marker = new GMarker(point);
  25.               map.addOverlay(marker);
  26.               marker.openInfoWindowHtml(address);
  27.             }
  28.           }
  29.         );
  30.       }
  31.     }
  32.     </script>
  33.   </head>
复制代码
body中的代码

  1.   <body onload="initialize()" onunload="GUnload()">
  2.     <form action="#" onsubmit="showAddress(this.address.value); return false">
  3.       <p>
  4.         <input type="text" size="60" name="address" value="北京市海淀区" />
  5.         <input type="submit" value="Go!" />
  6.       </p>
  7.       <div id="map_canvas" style="width: 500px; height: 300px"></div>
  8.     </form>
  9.   </body>
复制代码
代码解析,通过点击 Go! 这个按钮,将文本框中的 北京市海淀区 文字地址赋值给 address 从而实现了google地图的定位。

现在的问题是,如何将模板中的   $news[newsauthor] 的值传递到google地图的代码中去,从而实现google地图的自动显示。
lidq.jingwu 发表于 2009-11-5 10:16:49 | 显示全部楼层
传值是可以的,但不知你用的是html格式的文件还是php格式的,php向JS传值如果不是php文件,要用echo 将数据输出才可以的。
这一步操作可以在JS代码中做的。
回复

使用道具 举报

 楼主| qingwa 发表于 2009-11-7 20:56:55 | 显示全部楼层
本帖最后由 qingwa 于 2009-11-9 03:04 编辑

我用的是生成的静态html文件,对于模板文件的修改应该算是哪种格式?php还是html?

是否是
  1. var address = <? echo($news[subject])?>;
复制代码
这个代码,是否应该放在头部加载的 script 中?
回复

使用道具 举报

chinatout 发表于 2010-1-18 15:59:33 | 显示全部楼层
如果在资讯列表也的话,试试block中加上showdetail/1,然后再print_r($value);看看有没有数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 18:38 , Processed in 0.023199 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表