nobitaさん。ありがとうございます。
$linkのなかにはurlだけでなく、htmlタグが入っていたんですね。
解決しました。
コメントありがとうございます。
Google Maps v3 ShortcodeのソースはGoogle Maps apiの基本ソースと同じでとても分かりやすかったです。
いろいろ試したのですがこのプラグインは気づきませんでした。
他に試したプラグインのソースを見てもさっぱり分からなくて、自分で改良ができなかったために質問をさせていただきました。
複数表示できるほうのプラグインGoogle Maps v3 Shortcode multiple Markersに住所でマーカーが指定できるよう改良を加えて、関数でカテゴリ指定ができそうです。